Class: PostgresStore
Defined in: javascript/src/stores/postgres-store.ts:52
Credit store backed by a raw Postgres connection.
Uses dependency injection for the PG pool constructor — supply a real pg.Pool
for production, or a mock for tests.
Args:
databaseUrl: Postgres connection string.
poolCtor: Optional PG Pool constructor (default: loads pg on first use).
Implements
Constructors
Constructor
new PostgresStore(
databaseUrl,poolCtor?):PostgresStore
Defined in: javascript/src/stores/postgres-store.ts:57
Parameters
databaseUrl
string
poolCtor?
PgPoolConstructor
Returns
PostgresStore
Methods
addCredits()
addCredits(
userId,amount,type?,metadata?,expiresAt?):Promise<AddCreditsResult>
Defined in: javascript/src/stores/postgres-store.ts:128
Parameters
userId
string
amount
number
type?
string = "adjustment"
metadata?
CreditMetadata | null
expiresAt?
Date | null
Returns
Promise<AddCreditsResult>
Implementation of
addTeamMember()
addTeamMember(
teamId,userId,role?,spendCap?):Promise<AddTeamMemberResult>
Defined in: javascript/src/stores/postgres-store.ts:464
Parameters
teamId
string
userId
string
role?
string = "member"
spendCap?
number | null
Returns
Promise<AddTeamMemberResult>
Implementation of
aggregateStats()
aggregateStats(
start,end):Promise<AggregateStats>
Defined in: javascript/src/stores/postgres-store.ts:424
Parameters
start
Date
end
Date
Returns
Promise<AggregateStats>
Implementation of
checkAllowance()
checkAllowance(
userId):Promise<AllowanceResult>
Defined in: javascript/src/stores/postgres-store.ts:300
Parameters
userId
string
Returns
Promise<AllowanceResult>
Implementation of
checkFeature()
checkFeature(
userId,feature):Promise<CheckFeatureResult>
Defined in: javascript/src/stores/postgres-store.ts:280
Parameters
userId
string
feature
string
Returns
Promise<CheckFeatureResult>
Implementation of
checkSpendCap()
checkSpendCap(
userId,model?,amount?):Promise<CapCheckResult>
Defined in: javascript/src/stores/postgres-store.ts:320
Parameters
userId
string
model?
string | null
amount?
number
Returns
Promise<CapCheckResult>
Implementation of
close()
close():
Promise<void>
Defined in: javascript/src/stores/postgres-store.ts:83
Returns
Promise<void>
createTeam()
createTeam(
name,initialBalance?):Promise<CreateTeamResult>
Defined in: javascript/src/stores/postgres-store.ts:438
Parameters
name
string
initialBalance?
number = 0
Returns
Promise<CreateTeamResult>
Implementation of
dailySpend()
dailySpend(
start,end):Promise<DailySpendRow[]>
Defined in: javascript/src/stores/postgres-store.ts:410
Parameters
start
Date
end
Date
Returns
Promise<DailySpendRow[]>
Implementation of
deductCredits()
deductCredits(
userId,reservationId,amount,idempotencyKey?,metadata?):Promise<DeductionResult>
Defined in: javascript/src/stores/postgres-store.ts:197
Parameters
userId
string
reservationId
string
amount
number
idempotencyKey?
string | null
metadata?
CreditMetadata | null
Returns
Promise<DeductionResult>
Implementation of
deductTeam()
deductTeam(
teamId,userId,amount,metadata?):Promise<TeamDeductionResult>
Defined in: javascript/src/stores/postgres-store.ts:492
Parameters
teamId
string
userId
string
amount
number
metadata?
CreditMetadata | null
Returns
Promise<TeamDeductionResult>
Implementation of
getActivePricing()
getActivePricing():
Promise<PricingConfigResult|null>
Defined in: javascript/src/stores/postgres-store.ts:246
Returns
Promise<PricingConfigResult | null>
Implementation of
getBalance()
getBalance(
userId):Promise<BalanceResult>
Defined in: javascript/src/stores/postgres-store.ts:115
Parameters
userId
string
Returns
Promise<BalanceResult>
Implementation of
getTeamBalance()
getTeamBalance(
teamId):Promise<TeamBalanceResult>
Defined in: javascript/src/stores/postgres-store.ts:447
Parameters
teamId
string
Returns
Promise<TeamBalanceResult>
Implementation of
getTeamMembers()
getTeamMembers(
teamId):Promise<TeamMember[]>
Defined in: javascript/src/stores/postgres-store.ts:479
Parameters
teamId
string
Returns
Promise<TeamMember[]>
Implementation of
getUserPlan()
getUserPlan(
userId):Promise<GetUserPlanResult>
Defined in: javascript/src/stores/postgres-store.ts:265
Parameters
userId
string
Returns
Promise<GetUserPlanResult>
Implementation of
incrementUsageWindow()
incrementUsageWindow(
userId,planId,amount):Promise<void>
Defined in: javascript/src/stores/postgres-store.ts:314
Parameters
userId
string
planId
string
amount
number
Returns
Promise<void>
Implementation of
CreditStore.incrementUsageWindow
refundCredits()
refundCredits(
transactionId,amount?,reason?,metadata?):Promise<RefundResult>
Defined in: javascript/src/stores/postgres-store.ts:341
Parameters
transactionId
string
amount?
number
reason?
string
metadata?
CreditMetadata | null
Returns
Promise<RefundResult>
Implementation of
reserveCredits()
reserveCredits(
userId,amount,operationType,metadata?,minBalance?):Promise<ReserveResult>
Defined in: javascript/src/stores/postgres-store.ts:150
Parameters
userId
string
amount
number
operationType
string
metadata?
CreditMetadata | null
minBalance?
number = 5
Returns
Promise<ReserveResult>
Implementation of
setActivePricing()
setActivePricing(
config,label?):Promise<string>
Defined in: javascript/src/stores/postgres-store.ts:254
Parameters
config
label?
string | null
Returns
Promise<string>
Implementation of
setup()
setup(
_databaseUrl?):Promise<SetupResult>
Defined in: javascript/src/stores/postgres-store.ts:108
Parameters
_databaseUrl?
string | null
Returns
Promise<SetupResult>
Implementation of
setUserPlan()
setUserPlan(
userId,planId):Promise<SetUserPlanResult>
Defined in: javascript/src/stores/postgres-store.ts:291
Parameters
userId
string
planId
string
Returns
Promise<SetUserPlanResult>
Implementation of
spendByModel()
spendByModel(
start,end):Promise<SpendByModelRow[]>
Defined in: javascript/src/stores/postgres-store.ts:387
Parameters
start
Date
end
Date
Returns
Promise<SpendByModelRow[]>
Implementation of
spendByUser()
spendByUser(
start,end):Promise<SpendByUserRow[]>
Defined in: javascript/src/stores/postgres-store.ts:375
Parameters
start
Date
end
Date
Returns
Promise<SpendByUserRow[]>
Implementation of
sweepExpiredCredits()
sweepExpiredCredits(
dryRun?):Promise<SweepResult>
Defined in: javascript/src/stores/postgres-store.ts:526
Parameters
dryRun?
boolean = false
Returns
Promise<SweepResult>
Implementation of
CreditStore.sweepExpiredCredits
topUsers()
topUsers(
limit,start,end):Promise<TopUserRow[]>
Defined in: javascript/src/stores/postgres-store.ts:399
Parameters
limit
number
start
Date
end
Date
Returns
Promise<TopUserRow[]>