@n4it/crud-policy
Version:
NestJs CRUD for RESTful APIs - policy
20 lines (19 loc) • 624 B
TypeScript
import type { BaseRouteName } from '@n4it/crud';
import type { PolicyActions } from '../constants';
export type Policy = {
name: string;
action: PolicyActions;
};
export type PolicyGuardOpts = {
routes?: {
[K in BaseRouteName]?: Policy[];
};
policyName: string;
userPolicyField: string;
extractors?: {
getResourceIdFromBody: GetResourceIdFromBody;
getResourceIdFromParams: GetResourceIdFromParams;
};
};
export type GetResourceIdFromParams = (params: Record<string, unknown>) => unknown;
export type GetResourceIdFromBody = (body: Record<string, unknown>) => unknown;