UNPKG

@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
/** * @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