nowjs-core
Version:
NowCanDo Javascript Core [nowjs-core] is a library written by TypeScript code maintains under Apache 2.0 licence
18 lines (17 loc) • 997 B
TypeScript
import { IIdentity } from './IIdentity';
import { ISecurityClaim } from './ISecurityClaim';
import { AuthorizePermissionOptions } from './ISecurityProvider';
export interface IPrincipal<T> extends IIdentity<T> {
hasAllRoles(...roles: string[]): Promise<boolean>;
hasAnyRoles(...roles: string[]): Promise<boolean>;
exceptRoles(...roles: string[]): Promise<boolean>;
hasAllResources(...resources: string[]): Promise<boolean>;
hasAnyResources(...resources: string[]): Promise<boolean>;
exceptResources(...resources: string[]): Promise<boolean>;
hasAllPermissions(options: AuthorizePermissionOptions): Promise<boolean>;
hasAnyPermissions(options: AuthorizePermissionOptions): Promise<boolean>;
exceptPermissions(options: AuthorizePermissionOptions): Promise<boolean>;
hasAllClaims(...claims: ISecurityClaim[]): Promise<boolean>;
hasAnyClaims(...claims: ISecurityClaim[]): Promise<boolean>;
exceptClaims(...claims: ISecurityClaim[]): Promise<boolean>;
}