@ema/js-base-library
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.0.
107 lines • 6.35 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { PermissionsService } from '../permissions/permissions-service';
import { Util } from '../utils/util';
/**
* @record
*/
function IUser() { }
if (false) {
/** @type {?} */
IUser.prototype.id;
/** @type {?} */
IUser.prototype.name;
/** @type {?} */
IUser.prototype.roles;
/** @type {?} */
IUser.prototype.created;
}
var User = /** @class */ (function () {
function User(name, roles, id, created) {
if (name === void 0) { name = 'visitor'; }
if (roles === void 0) { roles = ['ANONYMOUS']; }
this.roles = [];
this.permissions = PermissionsService.instance;
this.name = name;
this.roles = roles;
if (!id) {
this.id = Util.getUUID();
}
if (!created) {
this.created = Util.getTimeStamp();
}
}
/**
* @param {?} role
* @return {?}
*/
User.prototype.addRole = /**
* @param {?} role
* @return {?}
*/
function (role) {
this.roles.push(role);
this.roles = Util.arraySetUnique(this.roles);
};
/**
* @param {?} role
* @return {?}
*/
User.prototype.removeRole = /**
* @param {?} role
* @return {?}
*/
function (role) {
/** @type {?} */
var filtered = this.roles.filter((/**
* @param {?} value
* @param {?} index
* @param {?} arr
* @return {?}
*/
function (value, index, arr) {
return value !== role;
}));
this.roles = filtered;
// this.roles = Util.arrayRemoveValue(this.roles, role);;
};
/**
* @param {?} role
* @return {?}
*/
User.prototype.hasRole = /**
* @param {?} role
* @return {?}
*/
function (role) {
/** @type {?} */
var bool = false;
this.roles.forEach((/**
* @param {?} roleName
* @return {?}
*/
function (roleName) {
if (roleName === role)
bool = true;
}));
return bool;
// return this.roles.includes(role);
};
return User;
}());
export { User };
if (false) {
/** @type {?} */
User.prototype.id;
/** @type {?} */
User.prototype.name;
/** @type {?} */
User.prototype.roles;
/** @type {?} */
User.prototype.created;
/** @type {?} */
User.prototype.permissions;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlbWEvanMtYmFzZS1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL3VzZXJzL3VzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFFcEMsb0JBS0M7OztJQUpHLG1CQUFVOztJQUNWLHFCQUFZOztJQUNaLHNCQUFZOztJQUNaLHdCQUFlOztBQUduQjtJQVFJLGNBQVksSUFBd0IsRUFBRSxLQUFxQixFQUFFLEVBQVcsRUFBRSxPQUFnQjtRQUE5RSxxQkFBQSxFQUFBLGdCQUF3QjtRQUFFLHNCQUFBLEVBQUEsU0FBUyxXQUFXLENBQUM7UUFKM0QsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUtQLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDSixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtTQUMzQjtRQUNELElBQUcsQ0FBQyxPQUFPLEVBQUU7WUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtTQUNyQztJQUNMLENBQUM7Ozs7O0lBRUQsc0JBQU87Ozs7SUFBUCxVQUFRLElBQVk7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7OztJQUVELHlCQUFVOzs7O0lBQVYsVUFBVyxJQUFZOztZQUNmLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07Ozs7OztRQUFDLFVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHO1lBQy9DLE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQztRQUMxQixDQUFDLEVBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN0Qix5REFBeUQ7SUFDN0QsQ0FBQzs7Ozs7SUFFRCxzQkFBTzs7OztJQUFQLFVBQVEsSUFBWTs7WUFDWixJQUFJLEdBQVksS0FBSztRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87Ozs7UUFBQyxVQUFDLFFBQVE7WUFDeEIsSUFBSSxRQUFRLEtBQUssSUFBSTtnQkFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3ZDLENBQUMsRUFBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7UUFDWixvQ0FBb0M7SUFDeEMsQ0FBQztJQUVMLFdBQUM7QUFBRCxDQUFDLEFBMUNELElBMENDOzs7O0lBeENHLGtCQUFHOztJQUNILG9CQUFLOztJQUNMLHFCQUFXOztJQUNYLHVCQUFROztJQUNSLDJCQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBlcm1pc3Npb25zU2VydmljZSB9IGZyb20gJy4uL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLXNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbH0gZnJvbSAnLi4vdXRpbHMvdXRpbCc7XG5cbmludGVyZmFjZSBJVXNlciB7XG4gICAgaWQ6IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIHJvbGVzOiBhbnlbXVxuICAgIGNyZWF0ZWQ6IG51bWJlclxufVxuXG5leHBvcnQgY2xhc3MgVXNlciBpbXBsZW1lbnRzIElVc2VyIHtcblxuICAgIGlkO1xuICAgIG5hbWU7XG4gICAgcm9sZXMgPSBbXTtcbiAgICBjcmVhdGVkO1xuICAgIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uc1NlcnZpY2U7XG5cbiAgICBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcgPSAndmlzaXRvcicsIHJvbGVzID0gWydBTk9OWU1PVVMnXSwgaWQ/OiBzdHJpbmcsIGNyZWF0ZWQ/OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IFBlcm1pc3Npb25zU2VydmljZS5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5yb2xlcyA9IHJvbGVzO1xuICAgICAgICBpZighaWQpIHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSBVdGlsLmdldFVVSUQoKVxuICAgICAgICB9XG4gICAgICAgIGlmKCFjcmVhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZWQgPSBVdGlsLmdldFRpbWVTdGFtcCgpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGRSb2xlKHJvbGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJvbGVzLnB1c2gocm9sZSk7XG4gICAgICAgIHRoaXMucm9sZXMgPSBVdGlsLmFycmF5U2V0VW5pcXVlKHRoaXMucm9sZXMpO1xuICAgIH1cblxuICAgIHJlbW92ZVJvbGUocm9sZTogc3RyaW5nKSB7XG4gICAgICAgIGxldCBmaWx0ZXJlZCA9IHRoaXMucm9sZXMuZmlsdGVyKCh2YWx1ZSwgaW5kZXgsIGFycikgPT57XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgIT09IHJvbGU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJvbGVzID0gZmlsdGVyZWQ7XG4gICAgICAgIC8vIHRoaXMucm9sZXMgPSBVdGlsLmFycmF5UmVtb3ZlVmFsdWUodGhpcy5yb2xlcywgcm9sZSk7O1xuICAgIH1cblxuICAgIGhhc1JvbGUocm9sZTogc3RyaW5nKSA6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgYm9vbDogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJvbGVzLmZvckVhY2goKHJvbGVOYW1lKSA9PiB7XG4gICAgICAgICAgICBpZiAocm9sZU5hbWUgPT09IHJvbGUpIGJvb2wgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGJvb2w7XG4gICAgICAgIC8vIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKHJvbGUpO1xuICAgIH1cblxufVxuIl19