very-express
Version:
based on json schema and openapi, generate Express RestApi server with mongoDb
23 lines (18 loc) • 704 B
text/typescript
// {{headerComment}}
export type accessAction = "create" | "read" | "search" | "update" | "delete";
export const accessActionArr: accessAction[] = ["create", "read", "search", "update", "delete"];
export interface accessControl< T = accessAction > {
[key:string]: T[]
}
export class _RoleFactory<T = accessAction> {
private accessControl: accessControl<T> = {};
constructor(accessControl: accessControl<T>) {
this.accessControl = accessControl;
}
public checkAccess(document: string, access: string): boolean {
if (this.accessControl[document]) {
return this.accessControl[document].includes(access as T);
}
return false;
}
}