basalt / subscriptions-sqlite/src / SqliteUsageStore
Class: SqliteUsageStore
Defined in: subscriptions-sqlite/src/index.ts:223
Usage counters: periodKey is 'lifetime' or 'YYYY-MM' for meters.
Implements
Constructors
Constructor
> new SqliteUsageStore(db): SqliteUsageStore
Defined in: subscriptions-sqlite/src/index.ts:224
Parameters
db
DatabaseSync
Returns
SqliteUsageStore
Methods
consume()
> consume(billableId, feature, periodKey, amount, limit): Promise<UsageConsumeResult>
Defined in: subscriptions-sqlite/src/index.ts:246
Atomically increments by amount only if the result stays within limit. Must be atomic under concurrency so a quota is never overshot. amount must be a positive safe integer — implementations reject anything else with assertUsageAmount (a negative amount would refund quota).
Parameters
billableId
string
feature
string
periodKey
string
amount
number
limit
number
Returns
Promise<UsageConsumeResult>
Implementation of
get()
> get(billableId, feature, periodKey): Promise<number>
Defined in: subscriptions-sqlite/src/index.ts:226
Parameters
billableId
string
feature
string
periodKey
string
Returns
Promise<number>
Implementation of
increment()
> increment(billableId, feature, periodKey, amount): Promise<number>
Defined in: subscriptions-sqlite/src/index.ts:233
Unconditional increment — used for unlimited features. Returns the new total. amount must be a positive safe integer (see assertUsageAmount).
Parameters
billableId
string
feature
string
periodKey
string
amount
number
Returns
Promise<number>