@buession/shiro
Version:
A security framework for JavaScript or TypeScript.
66 lines • 1.8 kB
JavaScript
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
import _createClass from "@babel/runtime/helpers/esm/createClass";
import { isUndefinedOrNull } from '../utils/common';
export var DefaultPrincipal = /*#__PURE__*/function () {
function DefaultPrincipal(id, roles, permissions) {
_classCallCheck(this, DefaultPrincipal);
this.id = id;
this.roles = roles;
this.permissions = permissions;
}
return _createClass(DefaultPrincipal, [{
key: "getId",
value: function getId() {
return this.id;
}
}, {
key: "setId",
value: function setId(id) {
this.id = id;
}
}, {
key: "getRoles",
value: function getRoles() {
return this.roles;
}
}, {
key: "setRoles",
value: function setRoles(roleNames) {
this.roles = isUndefinedOrNull(roleNames) === true ? [] : roleNames;
}
}, {
key: "addRole",
value: function addRole(roleName) {
this.roles.push(roleName);
}
}, {
key: "addRoles",
value: function addRoles(roleNames) {
if (isUndefinedOrNull(roleNames) === false) {
this.roles = this.roles.concat(roleNames);
}
}
}, {
key: "getPermissions",
value: function getPermissions() {
return this.permissions;
}
}, {
key: "setPermissions",
value: function setPermissions(permissions) {
this.permissions = isUndefinedOrNull(permissions) === true ? [] : permissions;
}
}, {
key: "addPermission",
value: function addPermission(permission) {
this.permissions.push(permission);
}
}, {
key: "addPermissions",
value: function addPermissions(permissions) {
if (isUndefinedOrNull(permissions) === false) {
this.permissions = this.roles.concat(permissions);
}
}
}]);
}();