mongoose-restapi-ui
Version:
Rest api library for your mongoose apps, with react ui: mongoose-restapi-ui-component react library
30 lines (29 loc) • 1.56 kB
TypeScript
import { Model, Document } from "mongoose";
import { IPermission } from "./permissionSchema";
import { IRole } from "./roleSchema";
import { IUser } from "./userSchema";
import { ServeOptions, PermissionEnum, HasPermissionCallback, UserRequest } from "../definitions/model";
export default class PermissionClass {
private table;
private permission;
private role;
private options;
private model;
constructor(model: Model<Document>, permission: Model<IPermission>, role: Model<IRole>, options: ServeOptions);
private _getReadObjects;
private _getUserRoles;
checkUser(user: IUser): boolean;
getMaxPermissionByTable(req: UserRequest, callback: (err: Error, perm?: PermissionEnum) => void): void;
private _getMaxPermissionByDoc;
getReadQuery(req: UserRequest, callback: (error: Error, query?: any) => void): void;
private _hasReadPermissionByOptions;
hasReadPermission(req: UserRequest, doc: Document, callback: HasPermissionCallback): void;
private _hasAddPermissionByOptions;
hasAddPermission(req: UserRequest, callback: HasPermissionCallback): void;
private _hasUpdatePermissionByOptions;
hasUpdatePermission(req: UserRequest, doc: Document, callback: HasPermissionCallback): void;
private _hasDeletePermissionByOptions;
hasDeletePermission(req: UserRequest, doc: Document, callback: HasPermissionCallback): void;
private _hasAdminPermissionByOptions;
hasAdminPermission(req: UserRequest, doc: Document, callback: HasPermissionCallback): void;
}