@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
TypeScript
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[]>;
};
}>>;