UNPKG

@buession/shiro

Version:

A security framework for JavaScript or TypeScript.

43 lines 1.16 kB
import { isUndefinedOrNull } from '../utils/common'; export class DefaultPrincipal { constructor(id, roles, permissions) { this.id = id; this.roles = roles; this.permissions = permissions; } getId() { return this.id; } setId(id) { this.id = id; } getRoles() { return this.roles; } setRoles(roleNames) { this.roles = isUndefinedOrNull(roleNames) === true ? [] : roleNames; } addRole(roleName) { this.roles.push(roleName); } addRoles(roleNames) { if (isUndefinedOrNull(roleNames) === false) { this.roles = this.roles.concat(roleNames); } } getPermissions() { return this.permissions; } setPermissions(permissions) { this.permissions = isUndefinedOrNull(permissions) === true ? [] : permissions; } addPermission(permission) { this.permissions.push(permission); } addPermissions(permissions) { if (isUndefinedOrNull(permissions) === false) { this.permissions = this.roles.concat(permissions); } } } //# sourceMappingURL=principal.js.map