Skip to content

basalt / permissions-prisma/src / PrismaTemporaryGrantStore

Class: PrismaTemporaryGrantStore ​

Defined in: permissions-prisma/src/index.ts:248

Durable TemporaryGrantStore (PermTemporaryGrant model): time-boxed grants that survive a restart and are shared by every instance.

activeFor filters expiresAt > now, user and scope in the query; the Gate re-verifies all three on every row anyway, so a stale row can never become a standing grant. Expired rows are inert — pruneExpired() deletes them.

Implements ​

Constructors ​

Constructor ​

> new PrismaTemporaryGrantStore(client, options?): PrismaTemporaryGrantStore

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

Parameters ​

client ​

PrismaPermissionsClient

options? ​

PrismaAccessStoreOptions = {}

Returns ​

PrismaTemporaryGrantStore

Methods ​

activeFor() ​

> activeFor(userId, scope, now): Promise<TemporaryGrant[]>

Defined in: permissions-prisma/src/index.ts:288

Non-expired grants for a user in a scope.

Parameters ​

userId ​

string

scope ​

string

now ​

number

Returns ​

Promise<TemporaryGrant[]>

Implementation of ​

TemporaryGrantStore.activeFor


add() ​

> add(grant): Promise<void>

Defined in: permissions-prisma/src/index.ts:266

Parameters ​

grant ​

TemporaryGrant

Returns ​

Promise<void>

Implementation of ​

TemporaryGrantStore.add


all() ​

> all(): Promise<TemporaryGrant[]>

Defined in: permissions-prisma/src/index.ts:298

Returns ​

Promise<TemporaryGrant[]>

Implementation of ​

TemporaryGrantStore.all


pruneExpired() ​

> pruneExpired(now?): Promise<number>

Defined in: permissions-prisma/src/index.ts:303

Deletes grants expired at now (default: the current time). Returns how many.

Parameters ​

now? ​

number = ...

Returns ​

Promise<number>


revoke() ​

> revoke(id): Promise<void>

Defined in: permissions-prisma/src/index.ts:293

Parameters ​

id ​

string

Returns ​

Promise<void>

Implementation of ​

TemporaryGrantStore.revoke

Released under the MIT License.