UNPKG

@permitio/permit-prisma

Version:

Prisma extension for integrating Permit.io authorization (RBAC, ABAC, ReBAC) into your Prisma application.

21 lines (20 loc) 1.14 kB
import { PermitClient } from "../client/PermitClient"; import { PermitExtensionConfig } from "../models/PermitExtensionConfig"; import { IPermitClient } from "../types/IPermitClient"; import { User, Action, Resource, Context } from "../models/PermissionModels"; export declare function createPermitClientExtension(config: PermitExtensionConfig): (client: any) => import("@prisma/client/extension").PrismaClientExtends<import("@prisma/client/runtime").InternalArgs<{}, {}, {}, { $permit: { client: PermitClient; check(user: User, action: Action, resource: Resource, context?: Context): Promise<boolean>; enforceCheck(user: User, action: Action, resource: Resource, context?: Context): Promise<void>; setUser(user: User): { $permitContext: { user: User; }; }; getPermitClient(): IPermitClient; getConfig(): PermitExtensionConfig; getAllowedResourceIds(userId: string, resourceType: string, action: Action): Promise<string[]>; filterQueryResults(action: Action, resourceType: string, results: any[]): Promise<any[]>; }; }>>;