Skip to content

basalt / subscriptions-prisma/src / PrismaUsageStore

Class: PrismaUsageStore ​

Defined in: subscriptions-prisma/src/index.ts:241

Usage counters: periodKey is 'lifetime' or 'YYYY-MM' for meters.

Implements ​

Constructors ​

Constructor ​

> new PrismaUsageStore(client, options?): PrismaUsageStore

Defined in: subscriptions-prisma/src/index.ts:244

Parameters ​

client ​

PrismaSubscriptionsClient

options? ​

PrismaSubscriptionsStoreOptions = {}

Returns ​

PrismaUsageStore

Methods ​

consume() ​

> consume(billableId, feature, periodKey, amount, limit): Promise<UsageConsumeResult>

Defined in: subscriptions-prisma/src/index.ts:275

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 ​

UsageStore.consume


get() ​

> get(billableId, feature, periodKey): Promise<number>

Defined in: subscriptions-prisma/src/index.ts:251

Parameters ​

billableId ​

string

feature ​

string

periodKey ​

string

Returns ​

Promise<number>

Implementation of ​

UsageStore.get


increment() ​

> increment(billableId, feature, periodKey, amount): Promise<number>

Defined in: subscriptions-prisma/src/index.ts:256

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>

Implementation of ​

UsageStore.increment

Released under the MIT License.