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
options?
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
add()
> add(grant): Promise<void>
Defined in: permissions-prisma/src/index.ts:266
Parameters
grant
Returns
Promise<void>
Implementation of
all()
> all(): Promise<TemporaryGrant[]>
Defined in: permissions-prisma/src/index.ts:298
Returns
Promise<TemporaryGrant[]>
Implementation of
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>