@buession/shiro
Version:
A security framework for JavaScript or TypeScript.
43 lines • 1.16 kB
JavaScript
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