UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

63 lines 5.25 kB
/** * The user object that is used by the frontend in its logic. */ export class User { id; username; email; realmId; firstName; lastName; authorities; roles; groups; nextGroups; impersonated; constructor(id, username, email, realmId, firstName, lastName, authorities, roles, groups, nextGroups, impersonated) { this.id = id; this.username = username; this.email = email; this.realmId = realmId; this.firstName = firstName; this.lastName = lastName; this.authorities = authorities; this.roles = roles; this.groups = groups; this.nextGroups = nextGroups; this.impersonated = impersonated; } get fullName() { return this.firstName + ' ' + this.lastName; } /** * Synonym for `firstName`. */ get name() { return this.firstName; } /** * Synonym for `lastName`. */ get surname() { return this.lastName; } /** * @returns `true` if the User object represents an empty user, `false` otherwise. */ isEmpty() { return this.id === ''; } /** * @returns self if no impersonated user is present, or impersonated user otherwise */ getSelfOrImpersonated() { return this.isImpersonating() ? this.impersonated : this; } /** * @returns true if user is impersonating another user */ isImpersonating() { return !!this.impersonated; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdXNlci9tb2RlbHMvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7R0FFRztBQUNILE1BQU0sT0FBTyxJQUFJO0lBR0Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVhYLFlBQ1csRUFBVSxFQUNWLFFBQWdCLEVBQ2hCLEtBQWEsRUFDYixPQUFlLEVBQ2YsU0FBaUIsRUFDakIsUUFBZ0IsRUFDaEIsV0FBMEIsRUFDMUIsS0FBeUIsRUFDekIsTUFBc0IsRUFDdEIsVUFBMEIsRUFDMUIsWUFBbUI7UUFWbkIsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBb0I7UUFDekIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBZ0I7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQU87SUFFOUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLHFCQUFxQjtRQUN4QixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWU7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMvQixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb2Nlc3NSb2xlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3Byb2Nlc3Mtcm9sZSc7XG5pbXBvcnQge0lVc2VyfSBmcm9tICcuL2l1c2VyJztcblxuLyoqXG4gKiBUaGUgdXNlciBvYmplY3QgdGhhdCBpcyB1c2VkIGJ5IHRoZSBmcm9udGVuZCBpbiBpdHMgbG9naWMuXG4gKi9cbmV4cG9ydCBjbGFzcyBVc2VyIGltcGxlbWVudHMgSVVzZXIge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBpZDogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgdXNlcm5hbWU6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGVtYWlsOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyByZWFsbUlkOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBmaXJzdE5hbWU6IHN0cmluZyxcbiAgICAgICAgcHVibGljIGxhc3ROYW1lOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyBhdXRob3JpdGllczogQXJyYXk8c3RyaW5nPixcbiAgICAgICAgcHVibGljIHJvbGVzOiBBcnJheTxQcm9jZXNzUm9sZT4sXG4gICAgICAgIHB1YmxpYyBncm91cHM/OiBBcnJheTxzdHJpbmc+LFxuICAgICAgICBwdWJsaWMgbmV4dEdyb3Vwcz86IEFycmF5PHN0cmluZz4sXG4gICAgICAgIHB1YmxpYyBpbXBlcnNvbmF0ZWQ/OiBVc2VyXG4gICAgKSB7XG4gICAgfVxuXG4gICAgZ2V0IGZ1bGxOYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maXJzdE5hbWUgKyAnICcgKyB0aGlzLmxhc3ROYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN5bm9ueW0gZm9yIGBmaXJzdE5hbWVgLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maXJzdE5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3lub255bSBmb3IgYGxhc3ROYW1lYC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHN1cm5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdE5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBVc2VyIG9iamVjdCByZXByZXNlbnRzIGFuIGVtcHR5IHVzZXIsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCA9PT0gJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgc2VsZiBpZiBubyBpbXBlcnNvbmF0ZWQgdXNlciBpcyBwcmVzZW50LCBvciBpbXBlcnNvbmF0ZWQgdXNlciBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2VsZk9ySW1wZXJzb25hdGVkKCk6IFVzZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ltcGVyc29uYXRpbmcoKSA/IHRoaXMuaW1wZXJzb25hdGVkIDogdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIHVzZXIgaXMgaW1wZXJzb25hdGluZyBhbm90aGVyIHVzZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNJbXBlcnNvbmF0aW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmltcGVyc29uYXRlZDtcbiAgICB9XG5cbn1cbiJdfQ==