Files
node-pkg-express-utils/out/permissions.d.ts
Sebastian Seedorf 2629d1e8e9 inital #2
2020-11-16 10:01:58 +01:00

25 lines
1017 B
TypeScript

import { AccessControl, IQueryInfo, Permission } from 'role-acl';
import { Query } from 'role-acl/lib/src/core/Query';
import { Request, RequestHandler } from 'express';
declare class PermissionManager extends AccessControl {
can(roleOrRequest: Request | string | string[] | IQueryInfo): PermQuery;
getRouter(resource: string, opts: Partial<RermRouterOpts>): RequestHandler;
}
export declare type RermRouterOpts = {
context: unknown;
action: string;
skipConditions: boolean;
};
export declare class PermQuery extends Query {
protected resolveRequest: Request | undefined;
constructor(grants: unknown, roleOrRequest: Request | string | string[] | IQueryInfo);
on(resource: string, skipConditions?: boolean): Promise<Permission>;
context(context: unknown): PermQuery;
skipConditions(value: boolean): PermQuery;
with(context: unknown): PermQuery;
execute(action: string): PermQuery;
sync(): PermQuery;
}
export declare const Permissions: PermissionManager;
export {};