UNPKG

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
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>; }