taxtank-core 0.28.96 → 0.28.97

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,17 @@
1
1
  import { UserRolesEnum } from '../../db/Enums/user-roles.enum';
2
+ /**
3
+ * role hierarchy
4
+ */
2
5
  export const USER_ROLES = {
3
- ROLE_FIRM_OWNER: [UserRolesEnum.FIRM_OWNER],
4
- ROLE_FIRM_MANAGER: [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.FIRM_OWNER],
5
- ROLE_ACCOUNTANT: [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.FIRM_OWNER, UserRolesEnum.ACCOUNTANT],
6
+ ROLE_FIRM_OWNER: [UserRolesEnum.FIRM_OWNER, UserRolesEnum.FIRM_MANAGER, UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
7
+ ROLE_FIRM_MANAGER: [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
8
+ ROLE_EMPLOYEE: [UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
9
+ ROLE_ACCOUNTANT: [UserRolesEnum.ACCOUNTANT],
10
+ ROLE_ADVISOR: [UserRolesEnum.ADVISOR],
6
11
  ROLE_CLIENT: [UserRolesEnum.CLIENT],
7
- ROLE_USER: [UserRolesEnum.USER],
8
12
  ROLE_USER_SUBSCRIPTION: [UserRolesEnum.SUBSCRIPTION],
9
13
  ROLE_USER_WORK: [UserRolesEnum.WORK_TANK],
10
14
  ROLE_USER_PROPERTY: [UserRolesEnum.PROPERTY_TANK],
11
15
  ROLE_USER_SOLE: [UserRolesEnum.SOLE_TANK],
12
- ROLE_PREVIOUS_ADMIN: [UserRolesEnum.SWITCH_USER]
13
16
  };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yb2xlcy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci91c2VyLXJvbGVzLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUvRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQXFDO0lBQzFELGVBQWUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFDM0MsaUJBQWlCLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFDekUsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFDakcsV0FBVyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQy9CLHNCQUFzQixFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUNwRCxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3pDLGtCQUFrQixFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUNqRCxjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3pDLG1CQUFtQixFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztDQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5cbmV4cG9ydCBjb25zdCBVU0VSX1JPTEVTOiB7W2tleTogc3RyaW5nXTogVXNlclJvbGVzRW51bVtdfSA9IHtcbiAgUk9MRV9GSVJNX09XTkVSOiBbVXNlclJvbGVzRW51bS5GSVJNX09XTkVSXSxcbiAgUk9MRV9GSVJNX01BTkFHRVI6IFtVc2VyUm9sZXNFbnVtLkZJUk1fTUFOQUdFUiwgVXNlclJvbGVzRW51bS5GSVJNX09XTkVSXSxcbiAgUk9MRV9BQ0NPVU5UQU5UOiBbVXNlclJvbGVzRW51bS5GSVJNX01BTkFHRVIsIFVzZXJSb2xlc0VudW0uRklSTV9PV05FUiwgVXNlclJvbGVzRW51bS5BQ0NPVU5UQU5UXSxcbiAgUk9MRV9DTElFTlQ6IFtVc2VyUm9sZXNFbnVtLkNMSUVOVF0sXG4gIFJPTEVfVVNFUjogW1VzZXJSb2xlc0VudW0uVVNFUl0sXG4gIFJPTEVfVVNFUl9TVUJTQ1JJUFRJT046IFtVc2VyUm9sZXNFbnVtLlNVQlNDUklQVElPTl0sXG4gIFJPTEVfVVNFUl9XT1JLOiBbVXNlclJvbGVzRW51bS5XT1JLX1RBTktdLFxuICBST0xFX1VTRVJfUFJPUEVSVFk6IFtVc2VyUm9sZXNFbnVtLlBST1BFUlRZX1RBTktdLFxuICBST0xFX1VTRVJfU09MRTogW1VzZXJSb2xlc0VudW0uU09MRV9UQU5LXSxcbiAgUk9MRV9QUkVWSU9VU19BRE1JTjogW1VzZXJSb2xlc0VudW0uU1dJVENIX1VTRVJdXG59O1xuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yb2xlcy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci91c2VyLXJvbGVzLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUvRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBcUM7SUFDMUQsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUN4SCxpQkFBaUIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQ2hHLGFBQWEsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUNoRSxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO0lBQzNDLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFDckMsV0FBVyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxzQkFBc0IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDcEQsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUN6QyxrQkFBa0IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7SUFDakQsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztDQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5cbi8qKlxuICogcm9sZSBoaWVyYXJjaHlcbiAqL1xuZXhwb3J0IGNvbnN0IFVTRVJfUk9MRVM6IHtba2V5OiBzdHJpbmddOiBVc2VyUm9sZXNFbnVtW119ID0ge1xuICBST0xFX0ZJUk1fT1dORVI6IFtVc2VyUm9sZXNFbnVtLkZJUk1fT1dORVIsIFVzZXJSb2xlc0VudW0uRklSTV9NQU5BR0VSLCBVc2VyUm9sZXNFbnVtLkFDQ09VTlRBTlQsIFVzZXJSb2xlc0VudW0uQURWSVNPUl0sXG4gIFJPTEVfRklSTV9NQU5BR0VSOiBbVXNlclJvbGVzRW51bS5GSVJNX01BTkFHRVIsIFVzZXJSb2xlc0VudW0uQUNDT1VOVEFOVCwgVXNlclJvbGVzRW51bS5BRFZJU09SXSxcbiAgUk9MRV9FTVBMT1lFRTogW1VzZXJSb2xlc0VudW0uQUNDT1VOVEFOVCwgVXNlclJvbGVzRW51bS5BRFZJU09SXSxcbiAgUk9MRV9BQ0NPVU5UQU5UOiBbVXNlclJvbGVzRW51bS5BQ0NPVU5UQU5UXSxcbiAgUk9MRV9BRFZJU09SOiBbVXNlclJvbGVzRW51bS5BRFZJU09SXSxcbiAgUk9MRV9DTElFTlQ6IFtVc2VyUm9sZXNFbnVtLkNMSUVOVF0sXG4gIFJPTEVfVVNFUl9TVUJTQ1JJUFRJT046IFtVc2VyUm9sZXNFbnVtLlNVQlNDUklQVElPTl0sXG4gIFJPTEVfVVNFUl9XT1JLOiBbVXNlclJvbGVzRW51bS5XT1JLX1RBTktdLFxuICBST0xFX1VTRVJfUFJPUEVSVFk6IFtVc2VyUm9sZXNFbnVtLlBST1BFUlRZX1RBTktdLFxuICBST0xFX1VTRVJfU09MRTogW1VzZXJSb2xlc0VudW0uU09MRV9UQU5LXSxcbn07XG4iXX0=
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { User as BaseUser } from '../../db/Models/user/user';
3
3
  import { UserStatusEnum } from '../../db/Enums/user-status.enum';
4
4
  import { UserRolesEnum } from '../../db/Enums/user-roles.enum';
5
- import { Address } from '../address/address';
5
+ import { Address } from '../address';
6
6
  import { USER_WORK_POSITION } from './user-work-position.const';
7
7
  import { ClientDetails } from '../client/client-details';
8
8
  import { EmployeeDetails } from '../employee/employee-details';
@@ -10,6 +10,9 @@ import { Type } from 'class-transformer';
10
10
  import { Phone } from '../phone/phone';
11
11
  import { ServiceSubscription } from '../service-subscription/service-subscription';
12
12
  import { SoleDetails } from '../sole';
13
+ import intersection from 'lodash/intersection';
14
+ import flatten from 'lodash/flatten';
15
+ import { USER_ROLES } from './user-roles.const';
13
16
  export class User extends BaseUser {
14
17
  get fullName() {
15
18
  return `${this.firstName} ${this.lastName}`;
@@ -36,8 +39,16 @@ export class User extends BaseUser {
36
39
  return '';
37
40
  }
38
41
  }
39
- hasRole(role) {
40
- return this.roles.includes(role);
42
+ /**
43
+ * search roles including hierarchy
44
+ */
45
+ hasRoles(roles) {
46
+ roles = roles instanceof Array ? roles : [roles];
47
+ if (!roles.length) {
48
+ return true;
49
+ }
50
+ roles = flatten(roles.map((role) => USER_ROLES[role]));
51
+ return !!intersection(this.roles, roles).length;
41
52
  }
42
53
  isOnboarding() {
43
54
  return this.status === UserStatusEnum.ON_BOARDING;
@@ -139,4 +150,4 @@ __decorate([
139
150
  __decorate([
140
151
  Type(() => User)
141
152
  ], User.prototype, "clients", void 0);
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUduRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXRDLE1BQU0sT0FBTyxJQUFLLFNBQVEsUUFBUTtJQTBCaEMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBdUIsRUFBVyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElB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ZVVzZXIgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdXNlci91c2VyJztcbmltcG9ydCB7IFVzZXJTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdXNlci1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBVc2VyUm9sZXNFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdXNlci1yb2xlcy5lbnVtJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzL2FkZHJlc3MnO1xuaW1wb3J0IHsgVVNFUl9XT1JLX1BPU0lUSU9OIH0gZnJvbSAnLi91c2VyLXdvcmstcG9zaXRpb24uY29uc3QnO1xuaW1wb3J0IHsgQ2xpZW50RGV0YWlscyB9IGZyb20gJy4uL2NsaWVudC9jbGllbnQtZGV0YWlscyc7XG5pbXBvcnQgeyBFbXBsb3llZURldGFpbHMgfSBmcm9tICcuLi9lbXBsb3llZS9lbXBsb3llZS1kZXRhaWxzJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBQaG9uZSB9IGZyb20gJy4uL3Bob25lL3Bob25lJztcbmltcG9ydCB7IFNlcnZpY2VTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB9IGZyb20gJy4uL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgUGhvdG9hYmxlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9waG90b2FibGUnO1xuaW1wb3J0IHsgU29sZURldGFpbHMgfSBmcm9tICcuLi9zb2xlJztcblxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBCYXNlVXNlciBpbXBsZW1lbnRzIFBob3RvYWJsZSB7XG4gIEBUeXBlKCgpID0+IFNlcnZpY2VTdWJzY3JpcHRpb24pXG4gIHN1YnNjcmlwdGlvbnM6IFNlcnZpY2VTdWJzY3JpcHRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBDbGllbnREZXRhaWxzKVxuICBjbGllbnREZXRhaWxzOiBDbGllbnREZXRhaWxzO1xuXG4gIEBUeXBlKCgpID0+IEVtcGxveWVlRGV0YWlscylcbiAgZW1wbG95ZWVEZXRhaWxzOiBFbXBsb3llZURldGFpbHM7XG5cbiAgQFR5cGUoKCkgPT4gU29sZURldGFpbHMpXG4gIHNvbGVEZXRhaWxzOiBTb2xlRGV0YWlscztcblxuICBAVHlwZSgoKSA9PiBBZGRyZXNzKVxuICBhZGRyZXNzOiBBZGRyZXNzO1xuXG4gIEBUeXBlKCgpID0+IFBob25lKVxuICBwaG9uZTogUGhvbmU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgY3JlYXRlZEF0OiBEYXRlO1xuXG4gIC8vIEBUT0RPIEFsZXggcmVtb3ZlIHRoaXMgaGFja1xuICBAVHlwZSgoKSA9PiBVc2VyKVxuICBjbGllbnRzOiBVc2VyW107XG5cbiAgZ2V0IGZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZmlyc3ROYW1lfSAke3RoaXMubGFzdE5hbWV9YDtcbiAgfVxuXG4gIGdldCBhY3RpdmVTdWJzY3JpcHRpb24oKTogU2VydmljZVN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9ucy5maW5kKChzczogU2VydmljZVN1YnNjcmlwdGlvbik6IGJvb2xlYW4gPT4gc3MuaXNBY3RpdmUpO1xuICB9XG5cbiAgZ2V0IGxhc3RTdWJzY3JpcHRpb24oKTogU2VydmljZVN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uc1t0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoIC0gMV07XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gcmVmYWN0b3JcbiAgICpcbiAgICovXG4gIGdldCBwb3NpdGlvbigpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzRmlybU93bmVyKCk6XG4gICAgICAgIHJldHVybiBVU0VSX1dPUktfUE9TSVRJT05bVXNlclJvbGVzRW51bS5GSVJNX09XTkVSXTtcbiAgICAgIGNhc2UgdGhpcy5pc01hbmFnZXIoKTpcbiAgICAgICAgcmV0dXJuIFVTRVJfV09SS19QT1NJVElPTltVc2VyUm9sZXNFbnVtLkZJUk1fTUFOQUdFUl07XG4gICAgICBjYXNlIHRoaXMuaXNFbXBsb3llZSgpOlxuICAgICAgICByZXR1cm4gVVNFUl9XT1JLX1BPU0lUSU9OW1VzZXJSb2xlc0VudW0uRU1QTE9ZRUVdO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIGhhc1JvbGUocm9sZTogVXNlclJvbGVzRW51bSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKHJvbGUpO1xuICB9XG5cbiAgaXNPbmJvYXJkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gVXNlclN0YXR1c0VudW0uT05fQk9BUkRJTkc7XG4gIH1cblxuICBoYXNTdWJzY3JpcHRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5TVUJTQ1JJUFRJT04pO1xuICB9XG5cbiAgaXNMb2dnZWRJbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKTtcbiAgfVxuXG4gIGlzQ2xpZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uQ0xJRU5UKTtcbiAgfVxuXG4gIGlzRW1wbG95ZWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBY2NvdW50YW50KCkgfHwgdGhpcy5pc0Fkdmlzb3IoKTtcbiAgfVxuXG4gIGlzQWNjb3VudGFudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLkFDQ09VTlRBTlQpO1xuICB9XG5cbiAgaXNBZHZpc29yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uQURWSVNPUik7XG4gIH1cblxuICBpc0ltcGVyc29uYXRvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLlNXSVRDSF9VU0VSKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjdXJyZW50IHVzZXIgaXMgZmlybSBvd25lclxuICAgKi9cbiAgaXNGaXJtT3duZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5GSVJNX09XTkVSKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjdXJyZW50IHVzZXIgaXMgZmlybSBtYW5hZ2VyXG4gICAqL1xuICBpc01hbmFnZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5GSVJNX01BTkFHRVIpIHx8IHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5GSVJNX09XTkVSKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiB1c2VyIGhhcyBwcm9wZXJ0eSB0YW5rIGFjY2Vzc1xuICAgKi9cbiAgaGFzUHJvcGVydHlUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzID9cbiAgICAgIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LKSA6XG4gICAgICAhIXRoaXMuZ2V0U3Vic2NyaXB0aW9uUm9sZShVc2VyUm9sZXNFbnVtLlBST1BFUlRZX1RBTkspO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIHVzZXIgaGFzIHByb3BlcnR5IHRhbmsgYWNjZXNzXG4gICAqL1xuICBoYXNXb3JrVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcyA/XG4gICAgICB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uV09SS19UQU5LKSA6XG4gICAgICAhIXRoaXMuZ2V0U3Vic2NyaXB0aW9uUm9sZShVc2VyUm9sZXNFbnVtLldPUktfVEFOSyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHVzZXIgc3Vic2NyaXB0aW9uIHJvbGUgYnkgcHJvdmlkZWQgcm9sZSB0eXBlXG4gICAqIEBwYXJhbSByb2xlVHlwZSBieSB3aGljaCByb2xlIHNob3VsZCBiZSByZXR1cm5lZFxuICAgKi9cbiAgZ2V0U3Vic2NyaXB0aW9uUm9sZShyb2xlVHlwZTogVXNlclJvbGVzRW51bSk6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtIHtcbiAgICAvKipcbiAgICAgKiBBZGQgQFRPRE8gZm9yIEFsZXggdG8gY2hlY2sgaWYgd2Ugc2hvdWxkIHVzZSBnZXRMYXN0U3Vic2NyaXB0aW9uIGhlcmVcbiAgICAgKi9cbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTdWJzY3JpcHRpb24/Lml0ZW1zXG4gICAgICAuZmluZCgoc3Vic2NyaXB0aW9uSXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pID0+IHN1YnNjcmlwdGlvbkl0ZW0ucHJpY2UucHJvZHVjdC5yb2xlLmluY2x1ZGVzKHJvbGVUeXBlKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHVzZXIncyBwaG90byBsaW5rXG4gICAqL1xuICBnZXRQaG90bygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBob3RvO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB1c2VyJ3MgaW5pdGlhbHNcbiAgICovXG4gIGdldFBob3RvUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5maXJzdE5hbWVbMF0udG9VcHBlckNhc2UoKX0ke3RoaXMubGFzdE5hbWVbMF0udG9VcHBlckNhc2UoKX1gO1xuICB9XG59XG5cbiJdfQ==
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFHbkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN0QyxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsTUFBTSxPQUFPLElBQUssU0FBUSxRQUFRO0lBMEJoQyxJQUFJLFFBQVE7UUFDVixPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEs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QUFJLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDOzJDQUNHO0FBRzdCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQzs2Q0FDSztBQUdqQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7eUNBQ0M7QUFHekI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3FDQUNIO0FBR2pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQzttQ0FDTDtBQUdiO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt1Q0FDRDtBQUloQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7cUNBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyIGFzIEJhc2VVc2VyIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBVc2VyU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcyc7XG5pbXBvcnQgeyBVU0VSX1dPUktfUE9TSVRJT04gfSBmcm9tICcuL3VzZXItd29yay1wb3NpdGlvbi5jb25zdCc7XG5pbXBvcnQgeyBDbGllbnREZXRhaWxzIH0gZnJvbSAnLi4vY2xpZW50L2NsaWVudC1kZXRhaWxzJztcbmltcG9ydCB7IEVtcGxveWVlRGV0YWlscyB9IGZyb20gJy4uL2VtcGxveWVlL2VtcGxveWVlLWRldGFpbHMnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFBob25lIH0gZnJvbSAnLi4vcGhvbmUvcGhvbmUnO1xuaW1wb3J0IHsgU2VydmljZVN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtIH0gZnJvbSAnLi4vc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24taXRlbSc7XG5pbXBvcnQgeyBQaG90b2FibGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Bob3RvYWJsZSc7XG5pbXBvcnQgeyBTb2xlRGV0YWlscyB9IGZyb20gJy4uL3NvbGUnO1xuaW1wb3J0IGludGVyc2VjdGlvbiBmcm9tICdsb2Rhc2gvaW50ZXJzZWN0aW9uJztcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2xvZGFzaC9mbGF0dGVuJztcbmltcG9ydCB7VVNFUl9ST0xFU30gZnJvbSAnLi91c2VyLXJvbGVzLmNvbnN0JztcblxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBCYXNlVXNlciBpbXBsZW1lbnRzIFBob3RvYWJsZSB7XG4gIEBUeXBlKCgpID0+IFNlcnZpY2VTdWJzY3JpcHRpb24pXG4gIHN1YnNjcmlwdGlvbnM6IFNlcnZpY2VTdWJzY3JpcHRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBDbGllbnREZXRhaWxzKVxuICBjbGllbnREZXRhaWxzOiBDbGllbnREZXRhaWxzO1xuXG4gIEBUeXBlKCgpID0+IEVtcGxveWVlRGV0YWlscylcbiAgZW1wbG95ZWVEZXRhaWxzOiBFbXBsb3llZURldGFpbHM7XG5cbiAgQFR5cGUoKCkgPT4gU29sZURldGFpbHMpXG4gIHNvbGVEZXRhaWxzOiBTb2xlRGV0YWlscztcblxuICBAVHlwZSgoKSA9PiBBZGRyZXNzKVxuICBhZGRyZXNzOiBBZGRyZXNzO1xuXG4gIEBUeXBlKCgpID0+IFBob25lKVxuICBwaG9uZTogUGhvbmU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgY3JlYXRlZEF0OiBEYXRlO1xuXG4gIC8vIEBUT0RPIEFsZXggcmVtb3ZlIHRoaXMgaGFja1xuICBAVHlwZSgoKSA9PiBVc2VyKVxuICBjbGllbnRzOiBVc2VyW107XG5cbiAgZ2V0IGZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZmlyc3ROYW1lfSAke3RoaXMubGFzdE5hbWV9YDtcbiAgfVxuXG4gIGdldCBhY3RpdmVTdWJzY3JpcHRpb24oKTogU2VydmljZVN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9ucy5maW5kKChzczogU2VydmljZVN1YnNjcmlwdGlvbik6IGJvb2xlYW4gPT4gc3MuaXNBY3RpdmUpO1xuICB9XG5cbiAgZ2V0IGxhc3RTdWJzY3JpcHRpb24oKTogU2VydmljZVN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uc1t0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoIC0gMV07XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gcmVmYWN0b3JcbiAgICpcbiAgICovXG4gIGdldCBwb3NpdGlvbigpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzRmlybU93bmVyKCk6XG4gICAgICAgIHJldHVybiBVU0VSX1dPUktfUE9TSVRJT05bVXNlclJvbGVzRW51bS5GSVJNX09XTkVSXTtcbiAgICAgIGNhc2UgdGhpcy5pc01hbmFnZXIoKTpcbiAgICAgICAgcmV0dXJuIFVTRVJfV09SS19QT1NJVElPTltVc2VyUm9sZXNFbnVtLkZJUk1fTUFOQUdFUl07XG4gICAgICBjYXNlIHRoaXMuaXNFbXBsb3llZSgpOlxuICAgICAgICByZXR1cm4gVVNFUl9XT1JLX1BPU0lUSU9OW1VzZXJSb2xlc0VudW0uRU1QTE9ZRUVdO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBzZWFyY2ggcm9sZXMgaW5jbHVkaW5nIGhpZXJhcmNoeVxuICAgKi9cbiAgaGFzUm9sZXMocm9sZXM6IFVzZXJSb2xlc0VudW0gfCBVc2VyUm9sZXNFbnVtW10pOiBib29sZWFuIHtcbiAgICByb2xlcyA9IHJvbGVzIGluc3RhbmNlb2YgQXJyYXkgPyByb2xlcyA6IFtyb2xlc107XG4gICAgaWYgKCFyb2xlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJvbGVzID0gZmxhdHRlbihyb2xlcy5tYXAoKHJvbGUpID0+IFVTRVJfUk9MRVNbcm9sZV0pKTtcbiAgICByZXR1cm4gISFpbnRlcnNlY3Rpb24odGhpcy5yb2xlcywgcm9sZXMpLmxlbmd0aDtcbiAgfVxuXG4gIGlzT25ib2FyZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFVzZXJTdGF0dXNFbnVtLk9OX0JPQVJESU5HO1xuICB9XG5cbiAgaGFzU3Vic2NyaXB0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uU1VCU0NSSVBUSU9OKTtcbiAgfVxuXG4gIGlzTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJyk7XG4gIH1cblxuICBpc0NsaWVudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLkNMSUVOVCk7XG4gIH1cblxuICBpc0VtcGxveWVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQWNjb3VudGFudCgpIHx8IHRoaXMuaXNBZHZpc29yKCk7XG4gIH1cblxuICBpc0FjY291bnRhbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5BQ0NPVU5UQU5UKTtcbiAgfVxuXG4gIGlzQWR2aXNvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLkFEVklTT1IpO1xuICB9XG5cbiAgaXNJbXBlcnNvbmF0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5TV0lUQ0hfVVNFUik7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB1c2VyIGlzIGZpcm0gb3duZXJcbiAgICovXG4gIGlzRmlybU93bmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9PV05FUik7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB1c2VyIGlzIGZpcm0gbWFuYWdlclxuICAgKi9cbiAgaXNNYW5hZ2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9NQU5BR0VSKSB8fCB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9PV05FUik7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgdXNlciBoYXMgcHJvcGVydHkgdGFuayBhY2Nlc3NcbiAgICovXG4gIGhhc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcyA/XG4gICAgICB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uUFJPUEVSVFlfVEFOSykgOlxuICAgICAgISF0aGlzLmdldFN1YnNjcmlwdGlvblJvbGUoVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiB1c2VyIGhhcyBwcm9wZXJ0eSB0YW5rIGFjY2Vzc1xuICAgKi9cbiAgaGFzV29ya1RhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMgP1xuICAgICAgdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLldPUktfVEFOSykgOlxuICAgICAgISF0aGlzLmdldFN1YnNjcmlwdGlvblJvbGUoVXNlclJvbGVzRW51bS5XT1JLX1RBTkspO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB1c2VyIHN1YnNjcmlwdGlvbiByb2xlIGJ5IHByb3ZpZGVkIHJvbGUgdHlwZVxuICAgKiBAcGFyYW0gcm9sZVR5cGUgYnkgd2hpY2ggcm9sZSBzaG91bGQgYmUgcmV0dXJuZWRcbiAgICovXG4gIGdldFN1YnNjcmlwdGlvblJvbGUocm9sZVR5cGU6IFVzZXJSb2xlc0VudW0pOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB7XG4gICAgLyoqXG4gICAgICogQWRkIEBUT0RPIGZvciBBbGV4IHRvIGNoZWNrIGlmIHdlIHNob3VsZCB1c2UgZ2V0TGFzdFN1YnNjcmlwdGlvbiBoZXJlXG4gICAgICovXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3Vic2NyaXB0aW9uPy5pdGVtc1xuICAgICAgLmZpbmQoKHN1YnNjcmlwdGlvbkl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiBzdWJzY3JpcHRpb25JdGVtLnByaWNlLnByb2R1Y3Qucm9sZS5pbmNsdWRlcyhyb2xlVHlwZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB1c2VyJ3MgcGhvdG8gbGlua1xuICAgKi9cbiAgZ2V0UGhvdG8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5waG90bztcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgdXNlcidzIGluaXRpYWxzXG4gICAqL1xuICBnZXRQaG90b1BsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuZmlyc3ROYW1lWzBdLnRvVXBwZXJDYXNlKCl9JHt0aGlzLmxhc3ROYW1lWzBdLnRvVXBwZXJDYXNlKCl9YDtcbiAgfVxufVxuXG4iXX0=
@@ -93,7 +93,13 @@ export class SubscriptionService {
93
93
  }
94
94
  listenSubscriptions() {
95
95
  this.sseService.on(`serviceSubscriptions`)
96
- .pipe(map((event) => plainToClass(ServiceSubscription, event)))
96
+ .pipe(map((event) => {
97
+ // @TODO for some reason mercure return object when there is only one item
98
+ if (event['items'] instanceof Object) {
99
+ event['items'] = Object.values(event['items']);
100
+ }
101
+ return plainToClass(ServiceSubscription, event);
102
+ }))
97
103
  .subscribe((subscription) => {
98
104
  this._serviceSubscription = subscription;
99
105
  this.serviceSubscriptionSubject.next(this._serviceSubscription);
@@ -116,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
116
122
  type: Inject,
117
123
  args: ['environment']
118
124
  }] }]; } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBYSxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDOUYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBR3BGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7O0FBSTNFOztHQUVHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUNVLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUM5QyxVQUFzQixFQUN0QixZQUEwQixFQUNILFdBQWdCO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ0gsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFWakQsK0JBQTBCLEdBQXVDLElBQUksYUFBYSxDQUFzQixDQUFDLENBQUMsQ0FBQztRQUUzRywyQkFBc0IsR0FB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O2lIQTFHVSxtQkFBbUIsd0lBWXBCLGFBQWE7cUhBWlosbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBYUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge09ic2VydmFibGUsIFJlcGxheVN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7bG9hZFN0cmlwZX0gZnJvbSAnQHN0cmlwZS9zdHJpcGUtanMnO1xuaW1wb3J0IHtwbGFpblRvQ2xhc3N9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7U2VydmljZVN1YnNjcmlwdGlvbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7U2VydmljZVBheW1lbnR9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXBheW1lbnQnO1xuaW1wb3J0IHtFdmVudERpc3BhdGNoZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbX0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLWl0ZW0nO1xuaW1wb3J0IHtBcHBFdmVudH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQge0FwcEV2ZW50VHlwZUVudW19IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7U3NlU2VydmljZX0gZnJvbSAnLi4vLi4vZXZlbnQvc3NlLnNlcnZpY2UnO1xuaW1wb3J0IHtUb2FzdFNlcnZpY2V9IGZyb20gJy4uLy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuXG4vKipcbiAqIEBUT0RPIEFsZXggcmVmYWN0b3JcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uU2VydmljZSB7XG4gIF9zZXJ2aWNlU3Vic2NyaXB0aW9uOiBTZXJ2aWNlU3Vic2NyaXB0aW9uO1xuICBzZXJ2aWNlU3Vic2NyaXB0aW9uU3ViamVjdDogUmVwbGF5U3ViamVjdDxTZXJ2aWNlU3Vic2NyaXB0aW9uPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFNlcnZpY2VTdWJzY3JpcHRpb24+KDEpO1xuICBzdHJpcGU6IGFueTtcbiAgc2VydmljZVBheW1lbnRzU3ViamVjdDogUmVwbGF5U3ViamVjdDxTZXJ2aWNlUGF5bWVudFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFNlcnZpY2VQYXltZW50W10+KDEpO1xuICBfc2VydmljZVBheW1lbnRzOiBTZXJ2aWNlUGF5bWVudFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzc2VTZXJ2aWNlOiBTc2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgdGhpcy5saXN0ZW5TdWJzY3JpcHRpb25zKCk7XG4gIH1cblxuICBnZXRTdWJzY3JpcHRpb24oZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8U2VydmljZVN1YnNjcmlwdGlvbj4ge1xuICAgIGlmICh0aGlzLl9zZXJ2aWNlU3Vic2NyaXB0aW9uID09PSB1bmRlZmluZWQgfHwgZm9yY2UpIHtcbiAgICAgIHRoaXMuX3NlcnZpY2VTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9zdWJzY3JpcHRpb25zL2xhc3RgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoU2VydmljZVN1YnNjcmlwdGlvbiwgcmVzcG9uc2UpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoc3Vic2NpcHRpb246IFNlcnZpY2VTdWJzY3JpcHRpb24pID0+IHtcbiAgICAgICAgICB0aGlzLl9zZXJ2aWNlU3Vic2NyaXB0aW9uID0gc3Vic2NpcHRpb247XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlU3Vic2NyaXB0aW9uU3ViamVjdC5uZXh0KHRoaXMuX3NlcnZpY2VTdWJzY3JpcHRpb24pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlU3Vic2NyaXB0aW9uU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZWRpcmVjdCB0byBzdHJpcGUgcGF5bWVudCBwYWdlXG4gICAqL1xuICBhc3luYyBjaGVja291dFJlZGlyZWN0KHN1YnNjcmlwdGlvbjogU2VydmljZVN1YnNjcmlwdGlvbik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3Qgc3RyaXBlOiBhbnkgPSBhd2FpdCBsb2FkU3RyaXBlKHRoaXMuZW52aXJvbm1lbnQuc3RyaXBlUGspO1xuXG4gICAgdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vc3RyaXBlL2NoZWNrb3V0LXNlc3Npb25gLCB7XG4gICAgICBpdGVtczogc3Vic2NyaXB0aW9uLml0ZW1zLFxuICAgICAgc3VjY2Vzc1VybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICBjYW5jZWxVcmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmXG4gICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlc3Npb246IHN0cmluZykgPT4ge1xuICAgICAgICAvLyBAVG9kbyByZW1vdmUgdXNlciBUUklBTCBzdGF0dXNcbiAgICAgICAgc3RyaXBlLnJlZGlyZWN0VG9DaGVja291dCh7c2Vzc2lvbklkOiBzZXNzaW9ufSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZWRpcmVjdCB0byBzdHJpcGUgYmlsbGluZyBwYWdlXG4gICAqL1xuICBiaWxsaW5nUmVkaXJlY3QocmV0dXJuVXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3N0cmlwZS9iaWxsaW5nLXBvcnRhbC1zZXNzaW9uYCwge1xuICAgICAgcGFyYW1zOiB7cmV0dXJuVXJsfVxuICAgIH0pLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVzcG9uc2UudXJsKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFBheW1lbnRzKCk6IE9ic2VydmFibGU8U2VydmljZVBheW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5fc2VydmljZVBheW1lbnRzKSB7XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3NlcnZpY2UtcGF5bWVudHNgKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBvYmplY3RbXSkgPT4ge1xuICAgICAgICB0aGlzLl9zZXJ2aWNlUGF5bWVudHMgPSByZXNwb25zZS5tYXAoKGl0ZW06IG9iamVjdCkgPT4gcGxhaW5Ub0NsYXNzKFNlcnZpY2VQYXltZW50LCBpdGVtKSk7XG4gICAgICAgIHRoaXMuc2VydmljZVBheW1lbnRzU3ViamVjdC5uZXh0KHRoaXMuX3NlcnZpY2VQYXltZW50cyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlUGF5bWVudHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkaWZmZXJlbmNlIGJldHdlZW4gY3VycmVudCBzdWJzY3JpcHRpb24gYW5kIHNlbGVjdGVkIG5ldyBzdWJzY3JpcHRpb25cbiAgICovXG4gIGdldFByb3JhdGlvbkNvc3QoaXRlbXM6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtW10pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9zdWJzY3JpcHRpb25zL3Byb3JhdGlvbi1jb3N0YCwgaXRlbXMpLnBpcGUoXG4gICAgICBtYXAoKHByb3JhdGlvbkNvc3Q6IG51bWJlcikgPT4ge1xuICAgICAgICByZXR1cm4gcHJvcmF0aW9uQ29zdDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2Ugc3Vic2NyaXB0aW9uIHBsYW5cbiAgICovXG4gIGNoYW5nZVN1YnNjcmlwdGlvbihpdGVtczogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW1bXSk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vc3Vic2NyaXB0aW9ucy9pdGVtc2AsIGl0ZW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnNzZVNlcnZpY2Uub24oYHNlcnZpY2VTdWJzY3JpcHRpb25zYClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGV2ZW50OiBvYmplY3QpOiBTZXJ2aWNlU3Vic2NyaXB0aW9uID0+IHBsYWluVG9DbGFzcyhTZXJ2aWNlU3Vic2NyaXB0aW9uLCBldmVudCkpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzdWJzY3JpcHRpb246IFNlcnZpY2VTdWJzY3JpcHRpb24pOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5fc2VydmljZVN1YnNjcmlwdGlvbiA9IHN1YnNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy5zZXJ2aWNlU3Vic2NyaXB0aW9uU3ViamVjdC5uZXh0KHRoaXMuX3NlcnZpY2VTdWJzY3JpcHRpb24pO1xuICAgICAgICAvLyBAVE9ETyB2aWsgcmVtb3ZlIHRpbWVvdXQgd2hlbiB1c2VyIGFwaSBtb3ZlZCB0byBhcGkgcGxhdGZvcm1cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlNFUlZJQ0VfU1VCU0NSSVBUSU9OX1VQREFURUQsIG51bGwpKTtcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zdWNjZXNzKCdTdWJzY3JpcHRpb24gc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQnKTtcbiAgICAgICAgfSwgMjAwMCk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBYSxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDOUYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBR3BGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7O0FBSTNFOztHQUVHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUNVLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUM5QyxVQUFzQixFQUN0QixZQUEwQixFQUNILFdBQWdCO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ0gsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFWakQsK0JBQTBCLEdBQXVDLElBQUksYUFBYSxDQUFzQixDQUFDLENBQUMsQ0FBQztRQUUzRywyQkFBc0IsR0FB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QVEsQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUN4RyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1lBQ2pFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7aUhBakhVLG1CQUFtQix3SUFZcEIsYUFBYTtxSEFaWixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFhSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtsb2FkU3RyaXBlfSBmcm9tICdAc3RyaXBlL3N0cmlwZS1qcyc7XG5pbXBvcnQge3BsYWluVG9DbGFzc30gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHtTZXJ2aWNlU3Vic2NyaXB0aW9ufSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHtTZXJ2aWNlUGF5bWVudH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2UtcGF5bWVudCc7XG5pbXBvcnQge0V2ZW50RGlzcGF0Y2hlclNlcnZpY2V9IGZyb20gJy4uLy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQge1NlcnZpY2VTdWJzY3JpcHRpb25JdGVtfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24taXRlbSc7XG5pbXBvcnQge0FwcEV2ZW50fSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7QXBwRXZlbnRUeXBlRW51bX0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHtTc2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9ldmVudC9zc2Uuc2VydmljZSc7XG5pbXBvcnQge1RvYXN0U2VydmljZX0gZnJvbSAnLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XG5cbi8qKlxuICogQFRPRE8gQWxleCByZWZhY3RvclxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb25TZXJ2aWNlIHtcbiAgX3NlcnZpY2VTdWJzY3JpcHRpb246IFNlcnZpY2VTdWJzY3JpcHRpb247XG4gIHNlcnZpY2VTdWJzY3JpcHRpb25TdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFNlcnZpY2VTdWJzY3JpcHRpb24+ID0gbmV3IFJlcGxheVN1YmplY3Q8U2VydmljZVN1YnNjcmlwdGlvbj4oMSk7XG4gIHN0cmlwZTogYW55O1xuICBzZXJ2aWNlUGF5bWVudHNTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFNlcnZpY2VQYXltZW50W10+ID0gbmV3IFJlcGxheVN1YmplY3Q8U2VydmljZVBheW1lbnRbXT4oMSk7XG4gIF9zZXJ2aWNlUGF5bWVudHM6IFNlcnZpY2VQYXltZW50W107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBwcml2YXRlIHNzZVNlcnZpY2U6IFNzZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICB0aGlzLmxpc3RlblN1YnNjcmlwdGlvbnMoKTtcbiAgfVxuXG4gIGdldFN1YnNjcmlwdGlvbihmb3JjZTogYm9vbGVhbiA9IGZhbHNlKTogT2JzZXJ2YWJsZTxTZXJ2aWNlU3Vic2NyaXB0aW9uPiB7XG4gICAgaWYgKHRoaXMuX3NlcnZpY2VTdWJzY3JpcHRpb24gPT09IHVuZGVmaW5lZCB8fCBmb3JjZSkge1xuICAgICAgdGhpcy5fc2VydmljZVN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3N1YnNjcmlwdGlvbnMvbGFzdGApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHBsYWluVG9DbGFzcyhTZXJ2aWNlU3Vic2NyaXB0aW9uLCByZXNwb25zZSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChzdWJzY2lwdGlvbjogU2VydmljZVN1YnNjcmlwdGlvbikgPT4ge1xuICAgICAgICAgIHRoaXMuX3NlcnZpY2VTdWJzY3JpcHRpb24gPSBzdWJzY2lwdGlvbjtcbiAgICAgICAgICB0aGlzLnNlcnZpY2VTdWJzY3JpcHRpb25TdWJqZWN0Lm5leHQodGhpcy5fc2VydmljZVN1YnNjcmlwdGlvbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNlcnZpY2VTdWJzY3JpcHRpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJlZGlyZWN0IHRvIHN0cmlwZSBwYXltZW50IHBhZ2VcbiAgICovXG4gIGFzeW5jIGNoZWNrb3V0UmVkaXJlY3Qoc3Vic2NyaXB0aW9uOiBTZXJ2aWNlU3Vic2NyaXB0aW9uKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBzdHJpcGU6IGFueSA9IGF3YWl0IGxvYWRTdHJpcGUodGhpcy5lbnZpcm9ubWVudC5zdHJpcGVQayk7XG5cbiAgICB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9zdHJpcGUvY2hlY2tvdXQtc2Vzc2lvbmAsIHtcbiAgICAgIGl0ZW1zOiBzdWJzY3JpcHRpb24uaXRlbXMsXG4gICAgICBzdWNjZXNzVXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgIGNhbmNlbFVybDogd2luZG93LmxvY2F0aW9uLmhyZWZcbiAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoc2Vzc2lvbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIC8vIEBUb2RvIHJlbW92ZSB1c2VyIFRSSUFMIHN0YXR1c1xuICAgICAgICBzdHJpcGUucmVkaXJlY3RUb0NoZWNrb3V0KHtzZXNzaW9uSWQ6IHNlc3Npb259KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIHJlZGlyZWN0IHRvIHN0cmlwZSBiaWxsaW5nIHBhZ2VcbiAgICovXG4gIGJpbGxpbmdSZWRpcmVjdChyZXR1cm5Vcmw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vc3RyaXBlL2JpbGxpbmctcG9ydGFsLXNlc3Npb25gLCB7XG4gICAgICBwYXJhbXM6IHtyZXR1cm5Vcmx9XG4gICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICB3aW5kb3cubG9jYXRpb24ucmVwbGFjZShyZXNwb25zZS51cmwpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0UGF5bWVudHMoKTogT2JzZXJ2YWJsZTxTZXJ2aWNlUGF5bWVudFtdPiB7XG4gICAgaWYgKCF0aGlzLl9zZXJ2aWNlUGF5bWVudHMpIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vc2VydmljZS1wYXltZW50c2ApLnN1YnNjcmliZSgocmVzcG9uc2U6IG9iamVjdFtdKSA9PiB7XG4gICAgICAgIHRoaXMuX3NlcnZpY2VQYXltZW50cyA9IHJlc3BvbnNlLm1hcCgoaXRlbTogb2JqZWN0KSA9PiBwbGFpblRvQ2xhc3MoU2VydmljZVBheW1lbnQsIGl0ZW0pKTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlUGF5bWVudHNTdWJqZWN0Lm5leHQodGhpcy5fc2VydmljZVBheW1lbnRzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNlcnZpY2VQYXltZW50c1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRpZmZlcmVuY2UgYmV0d2VlbiBjdXJyZW50IHN1YnNjcmlwdGlvbiBhbmQgc2VsZWN0ZWQgbmV3IHN1YnNjcmlwdGlvblxuICAgKi9cbiAgZ2V0UHJvcmF0aW9uQ29zdChpdGVtczogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW1bXSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3N1YnNjcmlwdGlvbnMvcHJvcmF0aW9uLWNvc3RgLCBpdGVtcykucGlwZShcbiAgICAgIG1hcCgocHJvcmF0aW9uQ29zdDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiBwcm9yYXRpb25Db3N0O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBzdWJzY3JpcHRpb24gcGxhblxuICAgKi9cbiAgY2hhbmdlU3Vic2NyaXB0aW9uKGl0ZW1zOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbVtdKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9zdWJzY3JpcHRpb25zL2l0ZW1zYCwgaXRlbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5TdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuc3NlU2VydmljZS5vbihgc2VydmljZVN1YnNjcmlwdGlvbnNgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZXZlbnQ6IG9iamVjdCk6IFNlcnZpY2VTdWJzY3JpcHRpb24gPT4ge1xuICAgICAgICAgIC8vIEBUT0RPIGZvciBzb21lIHJlYXNvbiBtZXJjdXJlIHJldHVybiBvYmplY3Qgd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSBpdGVtXG4gICAgICAgICAgaWYgKGV2ZW50WydpdGVtcyddIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICAgICAgICBldmVudFsnaXRlbXMnXSA9IE9iamVjdC52YWx1ZXMoZXZlbnRbJ2l0ZW1zJ10pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoU2VydmljZVN1YnNjcmlwdGlvbiwgZXZlbnQpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc3Vic2NyaXB0aW9uOiBTZXJ2aWNlU3Vic2NyaXB0aW9uKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuX3NlcnZpY2VTdWJzY3JpcHRpb24gPSBzdWJzY3JpcHRpb247XG4gICAgICAgIHRoaXMuc2VydmljZVN1YnNjcmlwdGlvblN1YmplY3QubmV4dCh0aGlzLl9zZXJ2aWNlU3Vic2NyaXB0aW9uKTtcbiAgICAgICAgLy8gQFRPRE8gdmlrIHJlbW92ZSB0aW1lb3V0IHdoZW4gdXNlciBhcGkgbW92ZWQgdG8gYXBpIHBsYXRmb3JtXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5TRVJWSUNFX1NVQlNDUklQVElPTl9VUERBVEVELCBudWxsKSk7XG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc3VjY2VzcygnU3Vic2NyaXB0aW9uIHN1Y2Nlc3NmdWxseSB1cGRhdGVkJyk7XG4gICAgICAgIH0sIDIwMDApO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -18,6 +18,7 @@ import concat from 'lodash/concat';
18
18
  import { __decorate, __awaiter } from 'tslib';
19
19
  import * as moment$1 from 'moment';
20
20
  import { DateRange, extendMoment } from 'moment-range';
21
+ import intersection from 'lodash/intersection';
21
22
  import cloneDeep$1 from 'lodash/cloneDeep';
22
23
  import { throwError as throwError$1 } from 'rxjs/internal/observable/throwError';
23
24
  import clone from 'lodash/clone';
@@ -4162,6 +4163,22 @@ __decorate([
4162
4163
  Type(() => Date)
4163
4164
  ], BasReport.prototype, "dateTo", void 0);
4164
4165
 
4166
+ /**
4167
+ * role hierarchy
4168
+ */
4169
+ const USER_ROLES = {
4170
+ ROLE_FIRM_OWNER: [UserRolesEnum.FIRM_OWNER, UserRolesEnum.FIRM_MANAGER, UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
4171
+ ROLE_FIRM_MANAGER: [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
4172
+ ROLE_EMPLOYEE: [UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
4173
+ ROLE_ACCOUNTANT: [UserRolesEnum.ACCOUNTANT],
4174
+ ROLE_ADVISOR: [UserRolesEnum.ADVISOR],
4175
+ ROLE_CLIENT: [UserRolesEnum.CLIENT],
4176
+ ROLE_USER_SUBSCRIPTION: [UserRolesEnum.SUBSCRIPTION],
4177
+ ROLE_USER_WORK: [UserRolesEnum.WORK_TANK],
4178
+ ROLE_USER_PROPERTY: [UserRolesEnum.PROPERTY_TANK],
4179
+ ROLE_USER_SOLE: [UserRolesEnum.SOLE_TANK],
4180
+ };
4181
+
4165
4182
  class User extends User$1 {
4166
4183
  get fullName() {
4167
4184
  return `${this.firstName} ${this.lastName}`;
@@ -4188,8 +4205,16 @@ class User extends User$1 {
4188
4205
  return '';
4189
4206
  }
4190
4207
  }
4191
- hasRole(role) {
4192
- return this.roles.includes(role);
4208
+ /**
4209
+ * search roles including hierarchy
4210
+ */
4211
+ hasRoles(roles) {
4212
+ roles = roles instanceof Array ? roles : [roles];
4213
+ if (!roles.length) {
4214
+ return true;
4215
+ }
4216
+ roles = flatten(roles.map((role) => USER_ROLES[role]));
4217
+ return !!intersection(this.roles, roles).length;
4193
4218
  }
4194
4219
  isOnboarding() {
4195
4220
  return this.status === UserStatusEnum.ON_BOARDING;
@@ -10095,19 +10120,6 @@ class Occupation$1 extends AbstractModel {
10095
10120
  class Occupation extends Occupation$1 {
10096
10121
  }
10097
10122
 
10098
- const USER_ROLES = {
10099
- ROLE_FIRM_OWNER: [UserRolesEnum.FIRM_OWNER],
10100
- ROLE_FIRM_MANAGER: [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.FIRM_OWNER],
10101
- ROLE_ACCOUNTANT: [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.FIRM_OWNER, UserRolesEnum.ACCOUNTANT],
10102
- ROLE_CLIENT: [UserRolesEnum.CLIENT],
10103
- ROLE_USER: [UserRolesEnum.USER],
10104
- ROLE_USER_SUBSCRIPTION: [UserRolesEnum.SUBSCRIPTION],
10105
- ROLE_USER_WORK: [UserRolesEnum.WORK_TANK],
10106
- ROLE_USER_PROPERTY: [UserRolesEnum.PROPERTY_TANK],
10107
- ROLE_USER_SOLE: [UserRolesEnum.SOLE_TANK],
10108
- ROLE_PREVIOUS_ADMIN: [UserRolesEnum.SWITCH_USER]
10109
- };
10110
-
10111
10123
  /**
10112
10124
  * Class with basic information about registering user
10113
10125
  */
@@ -13079,7 +13091,13 @@ class SubscriptionService {
13079
13091
  }
13080
13092
  listenSubscriptions() {
13081
13093
  this.sseService.on(`serviceSubscriptions`)
13082
- .pipe(map((event) => plainToClass(ServiceSubscription, event)))
13094
+ .pipe(map((event) => {
13095
+ // @TODO for some reason mercure return object when there is only one item
13096
+ if (event['items'] instanceof Object) {
13097
+ event['items'] = Object.values(event['items']);
13098
+ }
13099
+ return plainToClass(ServiceSubscription, event);
13100
+ }))
13083
13101
  .subscribe((subscription) => {
13084
13102
  this._serviceSubscription = subscription;
13085
13103
  this.serviceSubscriptionSubject.next(this._serviceSubscription);