because I got bored of customising my CV for every job
1import type { User } from "../user/user.entity";
2
3export interface Policy<TResource = unknown> {
4 view(user: User, resource: TResource): boolean | Promise<boolean>;
5
6 create(user: User, resource?: Partial<TResource>): boolean | Promise<boolean>;
7
8 update(user: User, resource: TResource): boolean | Promise<boolean>;
9
10 delete(user: User, resource: TResource): boolean | Promise<boolean>;
11}