@netgrif/components-core 6.2.2 → 6.3.0-rc.1

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.
Files changed (56) hide show
  1. package/esm2020/assets/i18n/de.json +17 -0
  2. package/esm2020/assets/i18n/en.json +17 -0
  3. package/esm2020/assets/i18n/sk.json +17 -0
  4. package/esm2020/lib/authentication/models/user.transformer.mjs +2 -2
  5. package/esm2020/lib/authentication/public-api.mjs +3 -1
  6. package/esm2020/lib/authorization/permission/permission.service.mjs +2 -2
  7. package/esm2020/lib/filter/filter.repository.mjs +7 -1
  8. package/esm2020/lib/impersonation/models/user-impersonate-config-metadata.mjs +2 -0
  9. package/esm2020/lib/impersonation/models/user-impersonation-constants.mjs +11 -0
  10. package/esm2020/lib/impersonation/public-api.mjs +9 -0
  11. package/esm2020/lib/impersonation/services/impersonation-user-list.service.mjs +19 -0
  12. package/esm2020/lib/impersonation/services/impersonation-user-resource.service.mjs +25 -0
  13. package/esm2020/lib/impersonation/services/impersonation-user-select.service.mjs +85 -0
  14. package/esm2020/lib/impersonation/services/impersonation.service.mjs +90 -0
  15. package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +19 -6
  16. package/esm2020/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.mjs +2 -2
  17. package/esm2020/lib/navigation/quick-panel/components/abstract-quick-panel.component.mjs +1 -1
  18. package/esm2020/lib/resources/interface/user-resource.mjs +1 -1
  19. package/esm2020/lib/side-menu/content-components/injection-tokens.mjs +3 -1
  20. package/esm2020/lib/side-menu/content-components/public-api.mjs +3 -1
  21. package/esm2020/lib/side-menu/content-components/user-impersonate/abstract-user-impersonate.component.mjs +37 -0
  22. package/esm2020/lib/side-menu/content-components/user-impersonate/model/user-impersonate-injection-data.mjs +2 -0
  23. package/esm2020/lib/side-menu/models/side-menu-size.mjs +2 -1
  24. package/esm2020/lib/user/models/user.mjs +15 -2
  25. package/esm2020/lib/user/services/user-comparator.service.mjs +4 -3
  26. package/esm2020/lib/user/services/user.service.mjs +17 -12
  27. package/esm2020/lib/utility/tests/test-config.mjs +6 -1
  28. package/esm2020/public-api.mjs +2 -1
  29. package/fesm2015/netgrif-components-core.mjs +353 -25
  30. package/fesm2015/netgrif-components-core.mjs.map +1 -1
  31. package/fesm2020/netgrif-components-core.mjs +349 -25
  32. package/fesm2020/netgrif-components-core.mjs.map +1 -1
  33. package/lib/authentication/public-api.d.ts +2 -0
  34. package/lib/filter/filter.repository.d.ts +4 -0
  35. package/lib/impersonation/models/user-impersonate-config-metadata.d.ts +3 -0
  36. package/lib/impersonation/models/user-impersonation-constants.d.ts +9 -0
  37. package/lib/impersonation/public-api.d.ts +6 -0
  38. package/lib/impersonation/services/impersonation-user-list.service.d.ts +12 -0
  39. package/lib/impersonation/services/impersonation-user-resource.service.d.ts +17 -0
  40. package/lib/impersonation/services/impersonation-user-select.service.d.ts +25 -0
  41. package/lib/impersonation/services/impersonation.service.d.ts +37 -0
  42. package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +9 -2
  43. package/lib/navigation/quick-panel/components/abstract-quick-panel.component.d.ts +1 -1
  44. package/lib/resources/interface/user-resource.d.ts +1 -0
  45. package/lib/side-menu/content-components/injection-tokens.d.ts +2 -0
  46. package/lib/side-menu/content-components/public-api.d.ts +2 -0
  47. package/lib/side-menu/content-components/user-impersonate/abstract-user-impersonate.component.d.ts +14 -0
  48. package/lib/side-menu/content-components/user-impersonate/model/user-impersonate-injection-data.d.ts +8 -0
  49. package/lib/side-menu/models/side-menu-size.d.ts +2 -1
  50. package/lib/user/models/user.d.ts +10 -1
  51. package/lib/user/services/user-comparator.service.d.ts +1 -1
  52. package/package.json +1 -1
  53. package/public-api.d.ts +1 -0
  54. package/src/assets/i18n/de.json +17 -0
  55. package/src/assets/i18n/en.json +17 -0
  56. package/src/assets/i18n/sk.json +17 -0
@@ -109,6 +109,12 @@
109
109
  "option-selector": {
110
110
  "select": "Auswählen",
111
111
  "choose-one-option": "Wählen Sie eine Option aus"
112
+ },
113
+ "impersonation": {
114
+ "title": "Benutzer vertreten",
115
+ "submit": "Vertreten",
116
+ "cease": "Vertretung abbrechen",
117
+ "impersonating": "in Vertretung als"
112
118
  }
113
119
  },
114
120
  "search": {
@@ -457,5 +463,16 @@
457
463
  },
458
464
  "dynamicNavigation": {
459
465
  "couldNotResolveView": "Ein Fehler ist aufgetreten während des Ansichtauflösungsprocess. Der Ansicht kann nicht angezeigt werden"
466
+ },
467
+ "impersonation": {
468
+ "user": {
469
+ "successfullyRepresented": "Benutzer wird jetzt vertreten",
470
+ "currentlyAlreadyRepresented": "Für den Benutzer existiert bereits eine Vertretung",
471
+ "currentlyLogged": "Benutzer ist bereits angemeldet"
472
+ },
473
+ "action": {
474
+ "failed": "Aktion ist fehlgeschlagen",
475
+ "deactivated": "Vertretung wurde erfolgreich deaktiviert"
476
+ }
460
477
  }
461
478
  }
@@ -109,6 +109,12 @@
109
109
  "option-selector": {
110
110
  "select": "Select",
111
111
  "choose-one-option": "Choose one of the provided options"
112
+ },
113
+ "impersonation": {
114
+ "title": "Impersonate user",
115
+ "submit": "Impersonate",
116
+ "cease": "Cancel impersonation",
117
+ "impersonating": "impersonating"
112
118
  }
113
119
  },
114
120
  "search": {
@@ -457,5 +463,16 @@
457
463
  },
458
464
  "dynamicNavigation": {
459
465
  "couldNotResolveView": "An error has occurred during the view resolution process. The view could not be displayed"
466
+ },
467
+ "impersonation": {
468
+ "user": {
469
+ "successfullyRepresented": "User successfully represented",
470
+ "currentlyAlreadyRepresented": "User is already being represented by someone else",
471
+ "currentlyLogged": "User is currently logged in"
472
+ },
473
+ "action": {
474
+ "failed": "Action failed",
475
+ "deactivated": "Representation was successfully deactivated"
476
+ }
460
477
  }
461
478
  }
@@ -109,6 +109,12 @@
109
109
  "option-selector": {
110
110
  "select": "Zvoliť",
111
111
  "choose-one-option": "Vyberte jednu z možností"
112
+ },
113
+ "impersonation": {
114
+ "title": "Zastúpenie používateľa",
115
+ "submit": "Zastúpiť",
116
+ "cease": "Zrušiť zastúpenie",
117
+ "impersonating": "v zastúpení"
112
118
  }
113
119
  },
114
120
  "search": {
@@ -457,5 +463,16 @@
457
463
  },
458
464
  "dynamicNavigation": {
459
465
  "couldNotResolveView": "Počas načítania zobrazenia sa vyskytla chyba. Zobrazenie nie je možné zobraziť"
466
+ },
467
+ "impersonation": {
468
+ "user": {
469
+ "successfullyRepresented": "Používateľ bol úspešne zastúpený",
470
+ "currentlyAlreadyRepresented": "Používateľ je momentálne zastupovaný",
471
+ "currentlyLogged": "Používateľ je momentálne prihlásený"
472
+ },
473
+ "action": {
474
+ "failed": "Akciu sa nepodarilo vykonať",
475
+ "deactivated": "Zastupovanie bolo úspešne deaktivované"
476
+ }
460
477
  }
461
478
  }
@@ -7,7 +7,7 @@ export class UserTransformer {
7
7
  }
8
8
  transform(user) {
9
9
  const groups = []; // TODO groups parsing
10
- return new User(user.id, user.email, user.name, user.surname, this.transformAuthorities(user.authorities), user.processRoles, groups, user.nextGroups);
10
+ return new User(user.id, user.email, user.name, user.surname, this.transformAuthorities(user.authorities), user.processRoles, groups, user.nextGroups, user.impersonated ? this.transform(user.impersonated) : undefined);
11
11
  }
12
12
  }
13
13
  UserTransformer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UserTransformer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
18
18
  providedIn: 'root'
19
19
  }]
20
20
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci50cmFuc2Zvcm1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvYXV0aGVudGljYXRpb24vbW9kZWxzL3VzZXIudHJhbnNmb3JtZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTVDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBT3pDLE1BQU0sT0FBTyxlQUFlO0lBRWQsb0JBQW9CLENBQUMsV0FBNkI7UUFDeEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBa0I7UUFDL0IsTUFBTSxNQUFNLEdBQWtCLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQjtRQUV4RCxPQUFPLElBQUksSUFBSSxDQUNYLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0MsSUFBSSxDQUFDLFlBQVksRUFDakIsTUFBTSxFQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV6QixDQUFDOzs2R0FuQlEsZUFBZTtpSEFBZixlQUFlLGNBRlosTUFBTTs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VXNlcn0gZnJvbSAnLi4vLi4vdXNlci9tb2RlbHMvdXNlcic7XG5pbXBvcnQge1RyYW5zZm9ybWVyfSBmcm9tICcuL3RyYW5zZm9ybWVyJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VzZXJSZXNvdXJjZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS91c2VyLXJlc291cmNlJztcbmltcG9ydCB7QXV0aG9yaXR5fSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2F1dGhvcml0eSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlclRyYW5zZm9ybWVyIGltcGxlbWVudHMgVHJhbnNmb3JtZXI8VXNlclJlc291cmNlLCBVc2VyPiB7XG5cbiAgICBwcm90ZWN0ZWQgdHJhbnNmb3JtQXV0aG9yaXRpZXMoYXV0aG9yaXRpZXM6IEFycmF5PEF1dGhvcml0eT4pOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuICFhdXRob3JpdGllcyA/IFtdIDogYXV0aG9yaXRpZXMubWFwKGEgPT4gYS5hdXRob3JpdHkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0odXNlcjogVXNlclJlc291cmNlKTogVXNlciB7XG4gICAgICAgIGNvbnN0IGdyb3VwczogQXJyYXk8c3RyaW5nPiA9IFtdOyAvLyBUT0RPIGdyb3VwcyBwYXJzaW5nXG5cbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyKFxuICAgICAgICAgICAgdXNlci5pZCxcbiAgICAgICAgICAgIHVzZXIuZW1haWwsXG4gICAgICAgICAgICB1c2VyLm5hbWUsXG4gICAgICAgICAgICB1c2VyLnN1cm5hbWUsXG4gICAgICAgICAgICB0aGlzLnRyYW5zZm9ybUF1dGhvcml0aWVzKHVzZXIuYXV0aG9yaXRpZXMpLFxuICAgICAgICAgICAgdXNlci5wcm9jZXNzUm9sZXMsXG4gICAgICAgICAgICBncm91cHMsXG4gICAgICAgICAgICB1c2VyLm5leHRHcm91cHMpO1xuXG4gICAgfVxuXG59XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci50cmFuc2Zvcm1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvYXV0aGVudGljYXRpb24vbW9kZWxzL3VzZXIudHJhbnNmb3JtZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTVDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBT3pDLE1BQU0sT0FBTyxlQUFlO0lBRWQsb0JBQW9CLENBQUMsV0FBNkI7UUFDeEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBa0I7UUFDL0IsTUFBTSxNQUFNLEdBQWtCLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQjtRQUV4RCxPQUFPLElBQUksSUFBSSxDQUNYLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0MsSUFBSSxDQUFDLFlBQVksRUFDakIsTUFBTSxFQUNOLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTNFLENBQUM7OzZHQXBCUSxlQUFlO2lIQUFmLGVBQWUsY0FGWixNQUFNOzRGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtVc2VyfSBmcm9tICcuLi8uLi91c2VyL21vZGVscy91c2VyJztcbmltcG9ydCB7VHJhbnNmb3JtZXJ9IGZyb20gJy4vdHJhbnNmb3JtZXInO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VXNlclJlc291cmNlfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3VzZXItcmVzb3VyY2UnO1xuaW1wb3J0IHtBdXRob3JpdHl9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvYXV0aG9yaXR5JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyVHJhbnNmb3JtZXIgaW1wbGVtZW50cyBUcmFuc2Zvcm1lcjxVc2VyUmVzb3VyY2UsIFVzZXI+IHtcblxuICAgIHByb3RlY3RlZCB0cmFuc2Zvcm1BdXRob3JpdGllcyhhdXRob3JpdGllczogQXJyYXk8QXV0aG9yaXR5Pik6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gIWF1dGhvcml0aWVzID8gW10gOiBhdXRob3JpdGllcy5tYXAoYSA9PiBhLmF1dGhvcml0eSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRyYW5zZm9ybSh1c2VyOiBVc2VyUmVzb3VyY2UpOiBVc2VyIHtcbiAgICAgICAgY29uc3QgZ3JvdXBzOiBBcnJheTxzdHJpbmc+ID0gW107IC8vIFRPRE8gZ3JvdXBzIHBhcnNpbmdcblxuICAgICAgICByZXR1cm4gbmV3IFVzZXIoXG4gICAgICAgICAgICB1c2VyLmlkLFxuICAgICAgICAgICAgdXNlci5lbWFpbCxcbiAgICAgICAgICAgIHVzZXIubmFtZSxcbiAgICAgICAgICAgIHVzZXIuc3VybmFtZSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtQXV0aG9yaXRpZXModXNlci5hdXRob3JpdGllcyksXG4gICAgICAgICAgICB1c2VyLnByb2Nlc3NSb2xlcyxcbiAgICAgICAgICAgIGdyb3VwcyxcbiAgICAgICAgICAgIHVzZXIubmV4dEdyb3VwcyxcbiAgICAgICAgICAgIHVzZXIuaW1wZXJzb25hdGVkID8gdGhpcy50cmFuc2Zvcm0odXNlci5pbXBlcnNvbmF0ZWQpIDogdW5kZWZpbmVkKTtcblxuICAgIH1cblxufVxuIl19
@@ -9,6 +9,8 @@ export * from './authentication.module';
9
9
  export * from './authentication.factory';
10
10
  /* SERVICES */
11
11
  export * from './anonymous/anonymous.service';
12
+ export * from './services/anonymous-authentication-interceptor';
13
+ export * from './services/authentication-interceptor';
12
14
  /* COMPONENTS */
13
15
  export * from './components/abstract-authentication-overlay';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvYXV0aGVudGljYXRpb24vcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxhQUFhO0FBQ2IsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxhQUFhO0FBQ2IsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjO0FBQ2QsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxnQkFBZ0I7QUFDaEIsY0FBYyw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEFQSVMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2Vzc2lvbi9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnbi11cC9wdWJsaWMtYXBpJztcblxuLyogTU9EVUxFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoZW50aWNhdGlvbi5tb2R1bGUnO1xuXG4vKiBDTEFTU0VTICovXG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLmZhY3RvcnknO1xuXG4vKiBTRVJWSUNFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hbm9ueW1vdXMvYW5vbnltb3VzLnNlcnZpY2UnO1xuXG4vKiBDT01QT05FTlRTICovXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWJzdHJhY3QtYXV0aGVudGljYXRpb24tb3ZlcmxheSc7XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvYXV0aGVudGljYXRpb24vcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxhQUFhO0FBQ2IsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxhQUFhO0FBQ2IsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjO0FBQ2QsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsdUNBQXVDLENBQUE7QUFFckQsZ0JBQWdCO0FBQ2hCLGNBQWMsOENBQThDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBBUElTICovXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3Nlc3Npb24vcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ24tdXAvcHVibGljLWFwaSc7XG5cbi8qIE1PRFVMRVMgKi9cbmV4cG9ydCAqIGZyb20gJy4vYXV0aGVudGljYXRpb24ubW9kdWxlJztcblxuLyogQ0xBU1NFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoZW50aWNhdGlvbi5mYWN0b3J5JztcblxuLyogU0VSVklDRVMgKi9cbmV4cG9ydCAqIGZyb20gJy4vYW5vbnltb3VzL2Fub255bW91cy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYW5vbnltb3VzLWF1dGhlbnRpY2F0aW9uLWludGVyY2VwdG9yJ1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi1pbnRlcmNlcHRvcidcblxuLyogQ09NUE9ORU5UUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Fic3RyYWN0LWF1dGhlbnRpY2F0aW9uLW92ZXJsYXknO1xuIl19
@@ -82,7 +82,7 @@ export class PermissionService {
82
82
  checkUserPerms(users, permission) {
83
83
  let userPermValue;
84
84
  if (!!users) {
85
- const loggedUserId = this._userService.user.id;
85
+ const loggedUserId = this._userService.user.getSelfOrImpersonated().id;
86
86
  Object.keys(users).forEach(user => {
87
87
  if (user === loggedUserId && users[user][permission] !== undefined) {
88
88
  userPermValue = userPermValue === undefined ?
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
101
101
  providedIn: 'root'
102
102
  }]
103
103
  }], ctorParameters: function () { return [{ type: i1.UserComparatorService }, { type: i2.UserService }]; } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9hdXRob3JpemF0aW9uL3Blcm1pc3Npb24vcGVybWlzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBSzdELE9BQU8sRUFBYyxjQUFjLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFLdkYsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQixZQUFzQixjQUFxQyxFQUFZLFlBQXlCO1FBQTFFLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUFZLGlCQUFZLEdBQVosWUFBWSxDQUFhO0lBQ2hHLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFzQixFQUFFLFVBQWtCO1FBQy9ELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbEUsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxLQUF1QixFQUFFLFVBQWtCO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFB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QUM7WUFDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzlCLElBQUksSUFBSSxLQUFLLFlBQVksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssU0FBUyxFQUFFO29CQUNoRSxhQUFhLEdBQUcsYUFBYSxLQUFLLFNBQVMsQ0FBQyxDQUFDO3dCQUN6QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQzFFO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7OytHQTNHUSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZkLE1BQU07NEZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VzZXJDb21wYXJhdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vdXNlci9zZXJ2aWNlcy91c2VyLWNvbXBhcmF0b3Iuc2VydmljZSc7XG5pbXBvcnQge0Fzc2lnblBvbGljeX0gZnJvbSAnLi4vLi4vdGFzay1jb250ZW50L21vZGVsL3BvbGljeSc7XG5pbXBvcnQge1Rhc2t9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvdGFzayc7XG5pbXBvcnQge1VzZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5pbXBvcnQge0Nhc2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZSc7XG5pbXBvcnQge1BldHJpTmV0UmVmZXJlbmNlV2l0aFBlcm1pc3Npb25zfSBmcm9tICcuLi8uLi9wcm9jZXNzL3BldHJpLW5ldC1yZWZlcmVuY2Utd2l0aC1wZXJtaXNzaW9ucyc7XG5pbXBvcnQge1Blcm1pc3Npb25zLCBQZXJtaXNzaW9uVHlwZSwgVXNlclBlcm1pc3Npb25zfSBmcm9tICcuLi8uLi9wcm9jZXNzL3Blcm1pc3Npb25zJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdXNlckNvbXBhcmF0b3I6IFVzZXJDb21wYXJhdG9yU2VydmljZSwgcHJvdGVjdGVkIF91c2VyU2VydmljZTogVXNlclNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzVGFza1Blcm1pc3Npb24odGFzazogVGFzayB8IHVuZGVmaW5lZCwgcGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGFzaykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgcm9sZVBlcm1WYWx1ZSA9IHRoaXMuY2hlY2tSb2xlUGVybXModGFzay5yb2xlcywgcGVybWlzc2lvbik7XG4gICAgICAgIGNvbnN0IHVzZXJQZXJtVmFsdWUgPSB0aGlzLmNoZWNrVXNlclBlcm1zKHRhc2sudXNlcnMsIHBlcm1pc3Npb24pO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlUGVybWlzc2lvbnMocm9sZVBlcm1WYWx1ZSwgdXNlclBlcm1WYWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc0Nhc2VQZXJtaXNzaW9uKGNhc2VfOiBDYXNlIHwgdW5kZWZpbmVkLCBwZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFjYXNlXykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgcm9sZVBlcm1WYWx1ZSA9IHRoaXMuY2hlY2tSb2xlUGVybXMoY2FzZV8ucGVybWlzc2lvbnMsIHBlcm1pc3Npb24pO1xuICAgICAgICBjb25zdCB1c2VyUGVybVZhbHVlID0gdGhpcy5jaGVja1VzZXJQZXJtcyhjYXNlXy51c2VycywgcGVybWlzc2lvbik7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVQZXJtaXNzaW9ucyhyb2xlUGVybVZhbHVlLCB1c2VyUGVybVZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZVBlcm1pc3Npb25zKHJvbGVQZXJtVmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQsIHVzZXJQZXJtVmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHVzZXJQZXJtVmFsdWUgPT09IHVuZGVmaW5lZCA/ICghIXJvbGVQZXJtVmFsdWUpIDogdXNlclBlcm1WYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzTmV0UGVybWlzc2lvbihhY3Rpb246IHN0cmluZywgbmV0OiBQZXRyaU5ldFJlZmVyZW5jZVdpdGhQZXJtaXNzaW9ucyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIW5ldFxuICAgICAgICAgICAgfHwgIW5ldC5wZXJtaXNzaW9uc1xuICAgICAgICAgICAgfHwgIWFjdGlvblxuICAgICAgICAgICAgfHwgIShuZXQucGVybWlzc2lvbnMgaW5zdGFuY2VvZiBPYmplY3QpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhuZXQucGVybWlzc2lvbnMpLnNvbWUocm9sZSA9PlxuICAgICAgICAgICAgdGhpcy5fdXNlclNlcnZpY2UuaGFzUm9sZUJ5SWQocm9sZSkgPyBuZXQucGVybWlzc2lvbnNbcm9sZV1bYWN0aW9uXSA9PT0gZmFsc2UgOiBmYWxzZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMobmV0LnBlcm1pc3Npb25zKS5zb21lKHJvbGUgPT5cbiAgICAgICAgICAgIHRoaXMuX3VzZXJTZXJ2aWNlLmhhc1JvbGVCeUlkKHJvbGUpID8gISFuZXQucGVybWlzc2lvbnNbcm9sZV1bYWN0aW9uXSA6IGZhbHNlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbkFzc2lnbih0YXNrOiBUYXNrIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRhc2tcbiAgICAgICAgICAgICYmIChcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgIHRhc2suYXNzaWduUG9saWN5ID09PSBBc3NpZ25Qb2xpY3kubWFudWFsXG4gICAgICAgICAgICAgICAgICAgICYmICF0YXNrLnVzZXJcbiAgICAgICAgICAgICAgICAgICAgJiYgdGhpcy5oYXNUYXNrUGVybWlzc2lvbih0YXNrLCBQZXJtaXNzaW9uVHlwZS5BU1NJR04pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuQ2FuY2VsKHRhc2s6IFRhc2sgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGFzayAmJiAhIXRhc2sudXNlclxuICAgICAgICAgICAgJiYgdGhpcy5oYXNUYXNrUGVybWlzc2lvbih0YXNrLCBQZXJtaXNzaW9uVHlwZS5DQU5DRUwpXG4gICAgICAgICAgICAmJiAoKHRhc2suYXNzaWduZWRVc2VyUG9saWN5ID09PSB1bmRlZmluZWQgfHwgdGFzay5hc3NpZ25lZFVzZXJQb2xpY3kuY2FuY2VsID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgfHwgdGFzay5hc3NpZ25lZFVzZXJQb2xpY3kuY2FuY2VsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuUmVhc3NpZ24odGFzazogVGFzayB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0YXNrICYmICEhdGFzay51c2VyICYmIHRoaXMudXNlckNvbXBhcmF0b3IuY29tcGFyZVVzZXJzKHRhc2sudXNlcilcbiAgICAgICAgICAgICYmIHRoaXMuaGFzVGFza1Blcm1pc3Npb24odGFzaywgUGVybWlzc2lvblR5cGUuREVMRUdBVEUpXG4gICAgICAgICAgICAmJiAoKHRhc2suYXNzaWduZWRVc2VyUG9saWN5ID09PSB1bmRlZmluZWQgfHwgdGFzay5hc3NpZ25lZFVzZXJQb2xpY3kucmVhc3NpZ24gPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICB8fCB0YXNrLmFzc2lnbmVkVXNlclBvbGljeS5yZWFzc2lnbik7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbkZpbmlzaCh0YXNrOiBUYXNrIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRhc2tcbiAgICAgICAgICAgICYmICEhdGFzay51c2VyXG4gICAgICAgICAgICAmJiB0aGlzLnVzZXJDb21wYXJhdG9yLmNvbXBhcmVVc2Vycyh0YXNrLnVzZXIpXG4gICAgICAgICAgICAmJiB0aGlzLmhhc1Rhc2tQZXJtaXNzaW9uKHRhc2ssIFBlcm1pc3Npb25UeXBlLkZJTklTSCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbkNvbGxhcHNlKHRhc2s6IFRhc2sgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGFza1xuICAgICAgICAgICAgJiYgdGFzay5hc3NpZ25Qb2xpY3kgPT09IEFzc2lnblBvbGljeS5tYW51YWw7XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrUm9sZVBlcm1zKHJvbGVzOiBQZXJtaXNzaW9ucywgcGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGxldCByb2xlUGVybVZhbHVlOiBib29sZWFuO1xuICAgICAgICBpZiAoISFyb2xlcykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMocm9sZXMpLmZvckVhY2gocm9sZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJvbGVzW3JvbGVdW3Blcm1pc3Npb25dICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fdXNlclNlcnZpY2UuaGFzUm9sZUJ5SWQocm9sZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcm9sZVBlcm1WYWx1ZSA9IHJvbGVQZXJtVmFsdWUgPT09IHVuZGVmaW5lZCA/IHJvbGVzW3JvbGVdW3Blcm1pc3Npb25dIDogcm9sZVBlcm1WYWx1ZSAmJiByb2xlc1tyb2xlXVtwZXJtaXNzaW9uXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm9sZVBlcm1WYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hlY2tVc2VyUGVybXModXNlcnM6IFVzZXJQZXJtaXNzaW9ucywgcGVybWlzc2lvbik6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgdXNlclBlcm1WYWx1ZTogYm9vbGVhbjtcbiAgICAgICAgaWYgKCEhdXNlcnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvZ2dlZFVzZXJJZCA9IHRoaXMuX3VzZXJTZXJ2aWNlLnVzZXIuaWQ7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyh1c2VycykuZm9yRWFjaCh1c2VyID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodXNlciA9PT0gbG9nZ2VkVXNlcklkICYmIHVzZXJzW3VzZXJdW3Blcm1pc3Npb25dICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdXNlclBlcm1WYWx1ZSA9IHVzZXJQZXJtVmFsdWUgPT09IHVuZGVmaW5lZCA/XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2Vyc1t1c2VyXVtwZXJtaXNzaW9uXSA6IHVzZXJQZXJtVmFsdWUgJiYgdXNlcnNbdXNlcl1bcGVybWlzc2lvbl07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVzZXJQZXJtVmFsdWU7XG4gICAgfVxufVxuIl19
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9hdXRob3JpemF0aW9uL3Blcm1pc3Npb24vcGVybWlzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBSzdELE9BQU8sRUFBYyxjQUFjLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFLdkYsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQixZQUFzQixjQUFxQyxFQUFZLFlBQXlCO1FBQTFFLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUFZLGlCQUFZLEdBQVosWUFBWSxDQUFhO0lBQ2hHLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFzQixFQUFFLFVBQWtCO1FBQy9ELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbEUsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxLQUF1QixFQUFFLFVBQWtCO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFB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RUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN2RSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxJQUFJLEtBQUssWUFBWSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxTQUFTLEVBQUU7b0JBQ2hFLGFBQWEsR0FBRyxhQUFhLEtBQUssU0FBUyxDQUFDLENBQUM7d0JBQ3pDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDMUU7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQzs7K0dBM0dRLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmQsTUFBTTs0RkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VXNlckNvbXBhcmF0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3VzZXItY29tcGFyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7QXNzaWduUG9saWN5fSBmcm9tICcuLi8uLi90YXNrLWNvbnRlbnQvbW9kZWwvcG9saWN5JztcbmltcG9ydCB7VGFza30gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS90YXNrJztcbmltcG9ydCB7VXNlclNlcnZpY2V9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7Q2FzZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9jYXNlJztcbmltcG9ydCB7UGV0cmlOZXRSZWZlcmVuY2VXaXRoUGVybWlzc2lvbnN9IGZyb20gJy4uLy4uL3Byb2Nlc3MvcGV0cmktbmV0LXJlZmVyZW5jZS13aXRoLXBlcm1pc3Npb25zJztcbmltcG9ydCB7UGVybWlzc2lvbnMsIFBlcm1pc3Npb25UeXBlLCBVc2VyUGVybWlzc2lvbnN9IGZyb20gJy4uLy4uL3Byb2Nlc3MvcGVybWlzc2lvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25TZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB1c2VyQ29tcGFyYXRvcjogVXNlckNvbXBhcmF0b3JTZXJ2aWNlLCBwcm90ZWN0ZWQgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSkge1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNUYXNrUGVybWlzc2lvbih0YXNrOiBUYXNrIHwgdW5kZWZpbmVkLCBwZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0YXNrKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByb2xlUGVybVZhbHVlID0gdGhpcy5jaGVja1JvbGVQZXJtcyh0YXNrLnJvbGVzLCBwZXJtaXNzaW9uKTtcbiAgICAgICAgY29uc3QgdXNlclBlcm1WYWx1ZSA9IHRoaXMuY2hlY2tVc2VyUGVybXModGFzay51c2VycywgcGVybWlzc2lvbik7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVQZXJtaXNzaW9ucyhyb2xlUGVybVZhbHVlLCB1c2VyUGVybVZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzQ2FzZVBlcm1pc3Npb24oY2FzZV86IENhc2UgfCB1bmRlZmluZWQsIHBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWNhc2VfKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByb2xlUGVybVZhbHVlID0gdGhpcy5jaGVja1JvbGVQZXJtcyhjYXNlXy5wZXJtaXNzaW9ucywgcGVybWlzc2lvbik7XG4gICAgICAgIGNvbnN0IHVzZXJQZXJtVmFsdWUgPSB0aGlzLmNoZWNrVXNlclBlcm1zKGNhc2VfLnVzZXJzLCBwZXJtaXNzaW9uKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZVBlcm1pc3Npb25zKHJvbGVQZXJtVmFsdWUsIHVzZXJQZXJtVmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNvbHZlUGVybWlzc2lvbnMocm9sZVBlcm1WYWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCwgdXNlclBlcm1WYWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdXNlclBlcm1WYWx1ZSA9PT0gdW5kZWZpbmVkID8gKCEhcm9sZVBlcm1WYWx1ZSkgOiB1c2VyUGVybVZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNOZXRQZXJtaXNzaW9uKGFjdGlvbjogc3RyaW5nLCBuZXQ6IFBldHJpTmV0UmVmZXJlbmNlV2l0aFBlcm1pc3Npb25zKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghbmV0XG4gICAgICAgICAgICB8fCAhbmV0LnBlcm1pc3Npb25zXG4gICAgICAgICAgICB8fCAhYWN0aW9uXG4gICAgICAgICAgICB8fCAhKG5ldC5wZXJtaXNzaW9ucyBpbnN0YW5jZW9mIE9iamVjdClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKG5ldC5wZXJtaXNzaW9ucykuc29tZShyb2xlID0+XG4gICAgICAgICAgICB0aGlzLl91c2VyU2VydmljZS5oYXNSb2xlQnlJZChyb2xlKSA/IG5ldC5wZXJtaXNzaW9uc1tyb2xlXVthY3Rpb25dID09PSBmYWxzZSA6IGZhbHNlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhuZXQucGVybWlzc2lvbnMpLnNvbWUocm9sZSA9PlxuICAgICAgICAgICAgdGhpcy5fdXNlclNlcnZpY2UuaGFzUm9sZUJ5SWQocm9sZSkgPyAhIW5ldC5wZXJtaXNzaW9uc1tyb2xlXVthY3Rpb25dIDogZmFsc2VcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuQXNzaWduKHRhc2s6IFRhc2sgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGFza1xuICAgICAgICAgICAgJiYgKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgdGFzay5hc3NpZ25Qb2xpY3kgPT09IEFzc2lnblBvbGljeS5tYW51YWxcbiAgICAgICAgICAgICAgICAgICAgJiYgIXRhc2sudXNlclxuICAgICAgICAgICAgICAgICAgICAmJiB0aGlzLmhhc1Rhc2tQZXJtaXNzaW9uKHRhc2ssIFBlcm1pc3Npb25UeXBlLkFTU0lHTilcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5DYW5jZWwodGFzazogVGFzayB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0YXNrICYmICEhdGFzay51c2VyXG4gICAgICAgICAgICAmJiB0aGlzLmhhc1Rhc2tQZXJtaXNzaW9uKHRhc2ssIFBlcm1pc3Npb25UeXBlLkNBTkNFTClcbiAgICAgICAgICAgICYmICgodGFzay5hc3NpZ25lZFVzZXJQb2xpY3kgPT09IHVuZGVmaW5lZCB8fCB0YXNrLmFzc2lnbmVkVXNlclBvbGljeS5jYW5jZWwgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICB8fCB0YXNrLmFzc2lnbmVkVXNlclBvbGljeS5jYW5jZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5SZWFzc2lnbih0YXNrOiBUYXNrIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRhc2sgJiYgISF0YXNrLnVzZXIgJiYgdGhpcy51c2VyQ29tcGFyYXRvci5jb21wYXJlVXNlcnModGFzay51c2VyKVxuICAgICAgICAgICAgJiYgdGhpcy5oYXNUYXNrUGVybWlzc2lvbih0YXNrLCBQZXJtaXNzaW9uVHlwZS5ERUxFR0FURSlcbiAgICAgICAgICAgICYmICgodGFzay5hc3NpZ25lZFVzZXJQb2xpY3kgPT09IHVuZGVmaW5lZCB8fCB0YXNrLmFzc2lnbmVkVXNlclBvbGljeS5yZWFzc2lnbiA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIHx8IHRhc2suYXNzaWduZWRVc2VyUG9saWN5LnJlYXNzaWduKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuRmluaXNoKHRhc2s6IFRhc2sgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGFza1xuICAgICAgICAgICAgJiYgISF0YXNrLnVzZXJcbiAgICAgICAgICAgICYmIHRoaXMudXNlckNvbXBhcmF0b3IuY29tcGFyZVVzZXJzKHRhc2sudXNlcilcbiAgICAgICAgICAgICYmIHRoaXMuaGFzVGFza1Blcm1pc3Npb24odGFzaywgUGVybWlzc2lvblR5cGUuRklOSVNIKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuQ29sbGFwc2UodGFzazogVGFzayB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0YXNrXG4gICAgICAgICAgICAmJiB0YXNrLmFzc2lnblBvbGljeSA9PT0gQXNzaWduUG9saWN5Lm1hbnVhbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hlY2tSb2xlUGVybXMocm9sZXM6IFBlcm1pc3Npb25zLCBwZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgbGV0IHJvbGVQZXJtVmFsdWU6IGJvb2xlYW47XG4gICAgICAgIGlmICghIXJvbGVzKSB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhyb2xlcykuZm9yRWFjaChyb2xlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocm9sZXNbcm9sZV1bcGVybWlzc2lvbl0gIT09IHVuZGVmaW5lZCAmJiB0aGlzLl91c2VyU2VydmljZS5oYXNSb2xlQnlJZChyb2xlKSkge1xuICAgICAgICAgICAgICAgICAgICByb2xlUGVybVZhbHVlID0gcm9sZVBlcm1WYWx1ZSA9PT0gdW5kZWZpbmVkID8gcm9sZXNbcm9sZV1bcGVybWlzc2lvbl0gOiByb2xlUGVybVZhbHVlICYmIHJvbGVzW3JvbGVdW3Blcm1pc3Npb25dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb2xlUGVybVZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja1VzZXJQZXJtcyh1c2VyczogVXNlclBlcm1pc3Npb25zLCBwZXJtaXNzaW9uKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGxldCB1c2VyUGVybVZhbHVlOiBib29sZWFuO1xuICAgICAgICBpZiAoISF1c2Vycykge1xuICAgICAgICAgICAgY29uc3QgbG9nZ2VkVXNlcklkID0gdGhpcy5fdXNlclNlcnZpY2UudXNlci5nZXRTZWxmT3JJbXBlcnNvbmF0ZWQoKS5pZDtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHVzZXJzKS5mb3JFYWNoKHVzZXIgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh1c2VyID09PSBsb2dnZWRVc2VySWQgJiYgdXNlcnNbdXNlcl1bcGVybWlzc2lvbl0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB1c2VyUGVybVZhbHVlID0gdXNlclBlcm1WYWx1ZSA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJzW3VzZXJdW3Blcm1pc3Npb25dIDogdXNlclBlcm1WYWx1ZSAmJiB1c2Vyc1t1c2VyXVtwZXJtaXNzaW9uXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXNlclBlcm1WYWx1ZTtcbiAgICB9XG59XG4iXX0=
@@ -121,6 +121,12 @@ export class FilterRepository {
121
121
  });
122
122
  return result;
123
123
  }
124
+ /**
125
+ * Removes all stored filters from the repository
126
+ */
127
+ removeAllFilters() {
128
+ this._filters = new Map();
129
+ }
124
130
  }
125
131
  FilterRepository.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterRepository, deps: [{ token: i1.ConfigurationService }, { token: i2.LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
126
132
  FilterRepository.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FilterRepository, providedIn: 'root' });
@@ -130,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
130
136
  providedIn: 'root'
131
137
  }]
132
138
  }], ctorParameters: function () { return [{ type: i1.ConfigurationService }, { type: i2.LoggerService }]; } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2ZpbHRlci9maWx0ZXIucmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBS3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7O0FBR3BEOzs7Ozs7R0FNRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFPekI7O09BRUc7SUFDSCxZQUFzQixjQUFvQyxFQUFZLElBQW1CO1FBQW5FLG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUFZLFNBQUksR0FBSixJQUFJLENBQWU7UUFSekY7O1dBRUc7UUFDTyxhQUFRLEdBQXdCLElBQUksR0FBRyxFQUFrQixDQUFDO1FBTWhFLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU87U0FDVjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sWUFBWSxHQUFpQixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckQsdURBQXVEO1lBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtnQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLFFBQVEsMERBQTBELENBQUMsQ0FBQztnQkFDekYsT0FBTzthQUNWO1lBQ0QsSUFBSSxLQUFL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Q0FBQztRQUNsQixTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEMsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO2dCQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3RCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzs4R0F0SFEsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGYixNQUFNOzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtDb25maWdGaWx0ZXJ9IGZyb20gJy4uLy4uL2NvbW1vbnMvc2NoZW1hJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7TWVyZ2VPcGVyYXRvcn0gZnJvbSAnLi9tb2RlbHMvbWVyZ2Utb3BlcmF0b3InO1xuaW1wb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuL21vZGVscy9maWx0ZXItdHlwZSc7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSAnLi9tb2RlbHMvc2ltcGxlLWZpbHRlcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi9tb2RlbHMvZmlsdGVyJztcbmltcG9ydCB7TWVyZ2VkRmlsdGVyfSBmcm9tICcuL21vZGVscy9tZXJnZWQtZmlsdGVyJztcblxuXG4vKipcbiAqIEFsbG93cyBhY2Nlc3MgdG8gZmlsdGVycyBkZWZpbmVkIGluIG5hZS5qc29uIGR1cmluZyBydW50aW1lLlxuICpcbiAqIEZpbHRlcnMgYXJlIGFsd2F5cyByZXR1cm5lZCBhcyBjb3BpZXMgdG8gYXZvaWQgdW5pbnRlbmRlZCBzaWRlIGVmZmVjdHMgd2hlbiBvcGVyYXRpbmcgb24gdGhlbS5cbiAqXG4gKiBBbHNvIHNlZSB7QGxpbmsgRmlsdGVyfS5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJSZXBvc2l0b3J5IHtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyB0aGUgZmlsdGVycyBtYW5hZ2VkIGJ5IHRoZSByZXBvc2l0b3J5LiBLZXlzIGFyZSBmaWx0ZXJJZHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9maWx0ZXJzOiBNYXA8c3RyaW5nLCBGaWx0ZXI+ID0gbmV3IE1hcDxzdHJpbmcsIEZpbHRlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIExvYWRzIGFuZCBjcmVhdGVzIGZpbHRlcnMgZGVjbGFyZWQgaW4gbmFlLmpzb24uXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jb25maWdTZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSwgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UpIHtcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IF9jb25maWdTZXJ2aWNlLmdldCgpLmZpbHRlcnM7XG4gICAgICAgIGlmICghZmlsdGVycykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmtleXMoZmlsdGVycykuZm9yRWFjaChmaWx0ZXJJZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb25maWdGaWx0ZXI6IENvbmZpZ0ZpbHRlciA9IGZpbHRlcnNbZmlsdGVySWRdO1xuICAgICAgICAgICAgLy8gVE9ETyAxNy40LjIwMjAgLSBkb24ndCBpZ25vcmUgZmlsdGVyLmFjY2VzcyBwcm9wZXJ0eVxuICAgICAgICAgICAgaWYgKCFjb25maWdGaWx0ZXIudHlwZSB8fCAhY29uZmlnRmlsdGVyLmJvZHkpIHtcbiAgICAgICAgICAgICAgICBfbG9nLndhcm4oYEZpbHRlciAnJHtmaWx0ZXJJZH0nIGRvZXNuJ3QgZGVmaW5lIGFsbCB0aGUgbmVjZXNzYXJ5IHByb3BlcnRpZXMuIFNraXBwaW5nLmApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmZpZ0ZpbHRlci5ib2R5KSkge1xuICAgICAgICAgICAgICAgIGlmICghY29uZmlnRmlsdGVyLm1lcmdlT3BlcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJuKGBGaWx0ZXIgJyR7ZmlsdGVySWR9JyBjb250YWlucyBtdWx0aXBsZSBmaWx0ZXJzLCBidXQgZG9lc24ndCBkZWZpbmUgYSBtZXJnZSBvcGVyYXRvci4gU2tpcHBpbmcuYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy53YXJuSWZGaWx0ZXJFeGlzdHMoZmlsdGVySWQpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyID0gbmV3IE1lcmdlZEZpbHRlcihmaWx0ZXJJZCwgY29uZmlnRmlsdGVyLnR5cGUgYXMgRmlsdGVyVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnRmlsdGVyLmJvZHksIGNvbmZpZ0ZpbHRlci5tZXJnZU9wZXJhdG9yIGFzIE1lcmdlT3BlcmF0b3IsIGNvbmZpZ0ZpbHRlci50aXRsZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVycy5zZXQoZmlsdGVySWQsIGZpbHRlcik7XG5cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy53YXJuSWZGaWx0ZXJFeGlzdHMoZmlsdGVySWQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IG5ldyBTaW1wbGVGaWx0ZXIoZmlsdGVySWQsIGNvbmZpZ0ZpbHRlci50eXBlIGFzIEZpbHRlclR5cGUsIGNvbmZpZ0ZpbHRlci5ib2R5LCBjb25maWdGaWx0ZXIudGl0bGUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlcnMuc2V0KGZpbHRlcklkLCBmaWx0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGEgd2FybmluZyBpZiBmaWx0ZXIgd2l0aCB0aGUgZ2l2ZW4gaWQgYWxyZWFkeSBleGlzdHMuIFRoZSB3YXJuaW5nIHN0YXRlcyB0aGF0IHRoZSBmaWx0ZXIgd2lsbCBiZSByZXBsYWNlZC5cbiAgICAgKiBAcGFyYW0gZmlsdGVySWQgSUQgb2YgdGhlIGZpbHRlciB3aG8ncyBleGlzdGVuY2Ugc2hvdWxkIGJlIGNoZWNrZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgd2FybklmRmlsdGVyRXhpc3RzKGZpbHRlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbHRlcnMuaGFzKGZpbHRlcklkKSkge1xuICAgICAgICAgICAgdGhpcy5fbG9nLndhcm4oYEZpbHRlciB3aXRoIGlkICcke2ZpbHRlcklkfScgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlcG9zaXRvcnkgYW5kIHdpbGwgYmUgcmVwbGFjZWQhYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZmlsdGVySWQgSUQgb2YgdGhlIGZpbHRlciB0aGF0IHNob3VsZCBiZSByZXRyaWV2ZWRcbiAgICAgKiBAcmV0dXJucyBhIGNvcHkgb2YgdGhlIHNwZWNpZmllZCBmaWx0ZXIsIG9yIGB1bmRlZmluZWRgIGlmIHN1Y2ggZmlsdGVyIGRvZXNuJ3QgZXhpc3QgaW4gdGhlIHJlcG9zaXRvcnkuXG4gICAgICovXG4gICAgcHVibGljIGdldEZpbHRlcihmaWx0ZXJJZDogc3RyaW5nKTogRmlsdGVyIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgbGV0IGZpbHRlciA9IHRoaXMuX2ZpbHRlcnMuZ2V0KGZpbHRlcklkKTtcbiAgICAgICAgaWYgKCEhZmlsdGVyKSB7XG4gICAgICAgICAgICBmaWx0ZXIgPSBmaWx0ZXIuY2xvbmUoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyBhIG5ldyBmaWx0ZXIgaW50byB0aGUgcmVwb3NpdG9yeS4gSWYgdGhlIHJlcG9zaXRvcnkgYWxyZWFkeSBjb250YWlucyBhIGZpbHRlciB3aXRoIHRoZSBzYW1lIElELCB0aGUgc3RvcmVkIGZpbHRlclxuICAgICAqIHdpbGwgYmUgcmVwbGFjZWQgYW5kIGEgd2FybmluZyB3aWxsIGJlIGxvZ2dlZC5cbiAgICAgKlxuICAgICAqIFRoZSByZXBvc2l0b3J5IHN0b3JlcyBhIGNvcHkgb2YgdGhlIHByb3ZpZGVkIGZpbHRlciwgdG8gZW5zdXJlIHRoYXQgdGhlIG9iamVjdHMgaW4gdGhlIHJlcG9zaXRvcnkgYXJlbid0IHJlZmVyZW5jZWQgZnJvbSBvdXRzaWRlLlxuICAgICAqIEBwYXJhbSBmaWx0ZXIgdGhlIGZpbHRlciB0aGF0IHNob3VsZCBiZSBzdG9yZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2F2ZUZpbHRlcihmaWx0ZXI6IEZpbHRlcik6IHZvaWQge1xuICAgICAgICB0aGlzLndhcm5JZkZpbHRlckV4aXN0cyhmaWx0ZXIuaWQpO1xuICAgICAgICB0aGlzLl9maWx0ZXJzLnNldChmaWx0ZXIuaWQsIGZpbHRlci5jbG9uZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBsaXN0IG9mIGNhc2UgZmlsdGVyIGlkZW50aWZpZXJzIHN0b3JlZCBpbiB0aGUgcmVwb3NpdG9yeVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXNlRmlsdGVyTGlzdCgpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmlsdGVyTGlzdChmaWx0ZXIgPT4gZmlsdGVyLnR5cGUgPT09IEZpbHRlclR5cGUuQ0FTRSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgbGlzdCBvZiB0YXNrIGZpbHRlciBpZGVudGlmaWVycyBzdG9yZWQgaW4gdGhlIHJlcG9zaXRvcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VGFza0ZpbHRlckxpc3QoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpbHRlckxpc3QoZmlsdGVyID0+IGZpbHRlci50eXBlID09PSBGaWx0ZXJUeXBlLlRBU0spO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBwcmVkaWNhdGUgY29uZGl0aW9uIHRoYXQgbXVzdCBiZSBmdWxmaWxsZWQgYnkgdGhlIGZpbHRlcnMgaW4gdGhlIHJlcG9zaXRvcnkgaW4gb3JkZXIgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdFxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2YgZmlsdGVyIGlkZW50aWZpZXJzIHRoYXQgZnVsZmlsbCB0aGUgZ2l2ZW4gcHJlZGljYXRlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldEZpbHRlckxpc3QocHJlZGljYXRlOiAoZjogRmlsdGVyKSA9PiBib29sZWFuKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICB0aGlzLl9maWx0ZXJzLmZvckVhY2goZmlsdGVyID0+IHtcbiAgICAgICAgICAgIGlmIChwcmVkaWNhdGUoZmlsdGVyKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGZpbHRlci5pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJJZHMgbGlzdCBvZiBpZHMgb2YgZmlsdGVycyB0aGF0IHNob3VsZCBiZSByZXR1cm5lZFxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2YgY29waWVzIG9mIHNwZWNpZmllZCBmaWx0ZXJzLiBJZiBzb21lIG9mIHRoZSBmaWx0ZXJzIGRvbid0IGV4aXN0IGluIHRoZSByZXBvc2l0b3J5LCB0aGV5IHdvbid0IGJlIGluY2x1ZGVkXG4gICAgICogYW5kIHRoZSBhcnJheSB3aWxsIGNvbnRhaW4gbGVzcyBlbGVtZW50cyB0aGFuIHRoZSBpbnB1dCBhcnJheS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RmlsdGVycyhmaWx0ZXJJZHM6IEFycmF5PHN0cmluZz4pOiBBcnJheTxGaWx0ZXI+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGZpbHRlcklkcy5mb3JFYWNoKGlkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyKGlkKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goZmlsdGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2ZpbHRlci9maWx0ZXIucmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBS3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7O0FBR3BEOzs7Ozs7R0FNRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFPekI7O09BRUc7SUFDSCxZQUFzQixjQUFvQyxFQUFZLElBQW1CO1FBQW5FLG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUFZLFNBQUksR0FBSixJQUFJLENBQWU7UUFSekY7O1dBRUc7UUFDTyxhQUFRLEdBQXdCLElBQUksR0FBRyxFQUFrQixDQUFDO1FBTWhFLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU87U0FDVjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sWUFBWSxHQUFpQixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckQsdURBQXVEO1lBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtnQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLFFBQVEsMERBQTBELENBQUMsQ0FBQztnQkFDekYsT0FBTzthQUNWO1lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxRQUFRLDZFQUE2RSxDQUFDLENBQUM7b0JBQzVHLE9BQU87aUJBQ1Y7Z0JBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUVsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLElBQWtCLEVBQ3JFLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLGFBQThCLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4RixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFFdkM7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLElBQWtCLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xILElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN2QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGtCQUFrQixDQUFDLFFBQWdCO1FBQ3pDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLFFBQVEsMERBQTBELENBQUMsQ0FBQztTQUN6RztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxTQUFTLENBQUMsUUFBZ0I7UUFDN0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMzQjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxVQUFVLENBQUMsTUFBYztRQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLGlCQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sYUFBYSxDQUFDLFNBQWlDO1FBQ3JELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzQixJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDMUI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVSxDQUFDLFNBQXdCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEMsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO2dCQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3RCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUM5QyxDQUFDOzs4R0E3SFEsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGYixNQUFNOzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtDb25maWdGaWx0ZXJ9IGZyb20gJy4uLy4uL2NvbW1vbnMvc2NoZW1hJztcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vbG9nZ2VyL3NlcnZpY2VzL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7TWVyZ2VPcGVyYXRvcn0gZnJvbSAnLi9tb2RlbHMvbWVyZ2Utb3BlcmF0b3InO1xuaW1wb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuL21vZGVscy9maWx0ZXItdHlwZSc7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSAnLi9tb2RlbHMvc2ltcGxlLWZpbHRlcic7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi9tb2RlbHMvZmlsdGVyJztcbmltcG9ydCB7TWVyZ2VkRmlsdGVyfSBmcm9tICcuL21vZGVscy9tZXJnZWQtZmlsdGVyJztcblxuXG4vKipcbiAqIEFsbG93cyBhY2Nlc3MgdG8gZmlsdGVycyBkZWZpbmVkIGluIG5hZS5qc29uIGR1cmluZyBydW50aW1lLlxuICpcbiAqIEZpbHRlcnMgYXJlIGFsd2F5cyByZXR1cm5lZCBhcyBjb3BpZXMgdG8gYXZvaWQgdW5pbnRlbmRlZCBzaWRlIGVmZmVjdHMgd2hlbiBvcGVyYXRpbmcgb24gdGhlbS5cbiAqXG4gKiBBbHNvIHNlZSB7QGxpbmsgRmlsdGVyfS5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJSZXBvc2l0b3J5IHtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyB0aGUgZmlsdGVycyBtYW5hZ2VkIGJ5IHRoZSByZXBvc2l0b3J5LiBLZXlzIGFyZSBmaWx0ZXJJZHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9maWx0ZXJzOiBNYXA8c3RyaW5nLCBGaWx0ZXI+ID0gbmV3IE1hcDxzdHJpbmcsIEZpbHRlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIExvYWRzIGFuZCBjcmVhdGVzIGZpbHRlcnMgZGVjbGFyZWQgaW4gbmFlLmpzb24uXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jb25maWdTZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSwgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UpIHtcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IF9jb25maWdTZXJ2aWNlLmdldCgpLmZpbHRlcnM7XG4gICAgICAgIGlmICghZmlsdGVycykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmtleXMoZmlsdGVycykuZm9yRWFjaChmaWx0ZXJJZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb25maWdGaWx0ZXI6IENvbmZpZ0ZpbHRlciA9IGZpbHRlcnNbZmlsdGVySWRdO1xuICAgICAgICAgICAgLy8gVE9ETyAxNy40LjIwMjAgLSBkb24ndCBpZ25vcmUgZmlsdGVyLmFjY2VzcyBwcm9wZXJ0eVxuICAgICAgICAgICAgaWYgKCFjb25maWdGaWx0ZXIudHlwZSB8fCAhY29uZmlnRmlsdGVyLmJvZHkpIHtcbiAgICAgICAgICAgICAgICBfbG9nLndhcm4oYEZpbHRlciAnJHtmaWx0ZXJJZH0nIGRvZXNuJ3QgZGVmaW5lIGFsbCB0aGUgbmVjZXNzYXJ5IHByb3BlcnRpZXMuIFNraXBwaW5nLmApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbmZpZ0ZpbHRlci5ib2R5KSkge1xuICAgICAgICAgICAgICAgIGlmICghY29uZmlnRmlsdGVyLm1lcmdlT3BlcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJuKGBGaWx0ZXIgJyR7ZmlsdGVySWR9JyBjb250YWlucyBtdWx0aXBsZSBmaWx0ZXJzLCBidXQgZG9lc24ndCBkZWZpbmUgYSBtZXJnZSBvcGVyYXRvci4gU2tpcHBpbmcuYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy53YXJuSWZGaWx0ZXJFeGlzdHMoZmlsdGVySWQpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyID0gbmV3IE1lcmdlZEZpbHRlcihmaWx0ZXJJZCwgY29uZmlnRmlsdGVyLnR5cGUgYXMgRmlsdGVyVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlnRmlsdGVyLmJvZHksIGNvbmZpZ0ZpbHRlci5tZXJnZU9wZXJhdG9yIGFzIE1lcmdlT3BlcmF0b3IsIGNvbmZpZ0ZpbHRlci50aXRsZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVycy5zZXQoZmlsdGVySWQsIGZpbHRlcik7XG5cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy53YXJuSWZGaWx0ZXJFeGlzdHMoZmlsdGVySWQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IG5ldyBTaW1wbGVGaWx0ZXIoZmlsdGVySWQsIGNvbmZpZ0ZpbHRlci50eXBlIGFzIEZpbHRlclR5cGUsIGNvbmZpZ0ZpbHRlci5ib2R5LCBjb25maWdGaWx0ZXIudGl0bGUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlcnMuc2V0KGZpbHRlcklkLCBmaWx0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGEgd2FybmluZyBpZiBmaWx0ZXIgd2l0aCB0aGUgZ2l2ZW4gaWQgYWxyZWFkeSBleGlzdHMuIFRoZSB3YXJuaW5nIHN0YXRlcyB0aGF0IHRoZSBmaWx0ZXIgd2lsbCBiZSByZXBsYWNlZC5cbiAgICAgKiBAcGFyYW0gZmlsdGVySWQgSUQgb2YgdGhlIGZpbHRlciB3aG8ncyBleGlzdGVuY2Ugc2hvdWxkIGJlIGNoZWNrZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgd2FybklmRmlsdGVyRXhpc3RzKGZpbHRlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbHRlcnMuaGFzKGZpbHRlcklkKSkge1xuICAgICAgICAgICAgdGhpcy5fbG9nLndhcm4oYEZpbHRlciB3aXRoIGlkICcke2ZpbHRlcklkfScgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlcG9zaXRvcnkgYW5kIHdpbGwgYmUgcmVwbGFjZWQhYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZmlsdGVySWQgSUQgb2YgdGhlIGZpbHRlciB0aGF0IHNob3VsZCBiZSByZXRyaWV2ZWRcbiAgICAgKiBAcmV0dXJucyBhIGNvcHkgb2YgdGhlIHNwZWNpZmllZCBmaWx0ZXIsIG9yIGB1bmRlZmluZWRgIGlmIHN1Y2ggZmlsdGVyIGRvZXNuJ3QgZXhpc3QgaW4gdGhlIHJlcG9zaXRvcnkuXG4gICAgICovXG4gICAgcHVibGljIGdldEZpbHRlcihmaWx0ZXJJZDogc3RyaW5nKTogRmlsdGVyIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgbGV0IGZpbHRlciA9IHRoaXMuX2ZpbHRlcnMuZ2V0KGZpbHRlcklkKTtcbiAgICAgICAgaWYgKCEhZmlsdGVyKSB7XG4gICAgICAgICAgICBmaWx0ZXIgPSBmaWx0ZXIuY2xvbmUoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyBhIG5ldyBmaWx0ZXIgaW50byB0aGUgcmVwb3NpdG9yeS4gSWYgdGhlIHJlcG9zaXRvcnkgYWxyZWFkeSBjb250YWlucyBhIGZpbHRlciB3aXRoIHRoZSBzYW1lIElELCB0aGUgc3RvcmVkIGZpbHRlclxuICAgICAqIHdpbGwgYmUgcmVwbGFjZWQgYW5kIGEgd2FybmluZyB3aWxsIGJlIGxvZ2dlZC5cbiAgICAgKlxuICAgICAqIFRoZSByZXBvc2l0b3J5IHN0b3JlcyBhIGNvcHkgb2YgdGhlIHByb3ZpZGVkIGZpbHRlciwgdG8gZW5zdXJlIHRoYXQgdGhlIG9iamVjdHMgaW4gdGhlIHJlcG9zaXRvcnkgYXJlbid0IHJlZmVyZW5jZWQgZnJvbSBvdXRzaWRlLlxuICAgICAqIEBwYXJhbSBmaWx0ZXIgdGhlIGZpbHRlciB0aGF0IHNob3VsZCBiZSBzdG9yZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2F2ZUZpbHRlcihmaWx0ZXI6IEZpbHRlcik6IHZvaWQge1xuICAgICAgICB0aGlzLndhcm5JZkZpbHRlckV4aXN0cyhmaWx0ZXIuaWQpO1xuICAgICAgICB0aGlzLl9maWx0ZXJzLnNldChmaWx0ZXIuaWQsIGZpbHRlci5jbG9uZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBsaXN0IG9mIGNhc2UgZmlsdGVyIGlkZW50aWZpZXJzIHN0b3JlZCBpbiB0aGUgcmVwb3NpdG9yeVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXNlRmlsdGVyTGlzdCgpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmlsdGVyTGlzdChmaWx0ZXIgPT4gZmlsdGVyLnR5cGUgPT09IEZpbHRlclR5cGUuQ0FTRSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgbGlzdCBvZiB0YXNrIGZpbHRlciBpZGVudGlmaWVycyBzdG9yZWQgaW4gdGhlIHJlcG9zaXRvcnlcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VGFza0ZpbHRlckxpc3QoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZpbHRlckxpc3QoZmlsdGVyID0+IGZpbHRlci50eXBlID09PSBGaWx0ZXJUeXBlLlRBU0spO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBwcmVkaWNhdGUgY29uZGl0aW9uIHRoYXQgbXVzdCBiZSBmdWxmaWxsZWQgYnkgdGhlIGZpbHRlcnMgaW4gdGhlIHJlcG9zaXRvcnkgaW4gb3JkZXIgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdFxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2YgZmlsdGVyIGlkZW50aWZpZXJzIHRoYXQgZnVsZmlsbCB0aGUgZ2l2ZW4gcHJlZGljYXRlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldEZpbHRlckxpc3QocHJlZGljYXRlOiAoZjogRmlsdGVyKSA9PiBib29sZWFuKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICB0aGlzLl9maWx0ZXJzLmZvckVhY2goZmlsdGVyID0+IHtcbiAgICAgICAgICAgIGlmIChwcmVkaWNhdGUoZmlsdGVyKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGZpbHRlci5pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJJZHMgbGlzdCBvZiBpZHMgb2YgZmlsdGVycyB0aGF0IHNob3VsZCBiZSByZXR1cm5lZFxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2YgY29waWVzIG9mIHNwZWNpZmllZCBmaWx0ZXJzLiBJZiBzb21lIG9mIHRoZSBmaWx0ZXJzIGRvbid0IGV4aXN0IGluIHRoZSByZXBvc2l0b3J5LCB0aGV5IHdvbid0IGJlIGluY2x1ZGVkXG4gICAgICogYW5kIHRoZSBhcnJheSB3aWxsIGNvbnRhaW4gbGVzcyBlbGVtZW50cyB0aGFuIHRoZSBpbnB1dCBhcnJheS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RmlsdGVycyhmaWx0ZXJJZHM6IEFycmF5PHN0cmluZz4pOiBBcnJheTxGaWx0ZXI+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGZpbHRlcklkcy5mb3JFYWNoKGlkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyKGlkKTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goZmlsdGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwgc3RvcmVkIGZpbHRlcnMgZnJvbSB0aGUgcmVwb3NpdG9yeVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVBbGxGaWx0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9maWx0ZXJzID0gbmV3IE1hcDxzdHJpbmcsIEZpbHRlcj4oKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbXBlcnNvbmF0ZS1jb25maWctbWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2ltcGVyc29uYXRpb24vbW9kZWxzL3VzZXItaW1wZXJzb25hdGUtY29uZmlnLW1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFVzZXJJbXBlcnNvbmF0ZUNvbmZpZ01ldGFkYXRhIHtcbiAgICBzdHJpbmdJZDogc3RyaW5nXG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Holds all identifiers of the Impersonation config process in an accessible manner
3
+ */
4
+ export var UserImpersonationConstants;
5
+ (function (UserImpersonationConstants) {
6
+ UserImpersonationConstants["IMPERSONATION_CONFIG_NET_IDENTIFIER"] = "impersonation_config";
7
+ UserImpersonationConstants["IMPERSONATION_CONFIG_FIELD_IMPERSONATED"] = "impersonated";
8
+ UserImpersonationConstants["IMPERSONATION_CONFIG_FIELD_ROLES"] = "impersonated_roles";
9
+ UserImpersonationConstants["IMPERSONATION_CONFIG_FIELD_AUTHS"] = "impersonated_authorities";
10
+ })(UserImpersonationConstants || (UserImpersonationConstants = {}));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbXBlcnNvbmF0aW9uLWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvaW1wZXJzb25hdGlvbi9tb2RlbHMvdXNlci1pbXBlcnNvbmF0aW9uLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLDBCQVFYO0FBUkQsV0FBWSwwQkFBMEI7SUFFbEMsMEZBQTRELENBQUE7SUFFNUQsc0ZBQXdELENBQUE7SUFDeEQscUZBQXVELENBQUE7SUFDdkQsMkZBQTZELENBQUE7QUFFakUsQ0FBQyxFQVJXLDBCQUEwQixLQUExQiwwQkFBMEIsUUFRckMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhvbGRzIGFsbCBpZGVudGlmaWVycyBvZiB0aGUgSW1wZXJzb25hdGlvbiBjb25maWcgcHJvY2VzcyBpbiBhbiBhY2Nlc3NpYmxlIG1hbm5lclxuICovXG5leHBvcnQgZW51bSBVc2VySW1wZXJzb25hdGlvbkNvbnN0YW50cyB7XG5cbiAgICBJTVBFUlNPTkFUSU9OX0NPTkZJR19ORVRfSURFTlRJRklFUiA9ICdpbXBlcnNvbmF0aW9uX2NvbmZpZycsXG5cbiAgICBJTVBFUlNPTkFUSU9OX0NPTkZJR19GSUVMRF9JTVBFUlNPTkFURUQgPSAnaW1wZXJzb25hdGVkJyxcbiAgICBJTVBFUlNPTkFUSU9OX0NPTkZJR19GSUVMRF9ST0xFUyA9ICdpbXBlcnNvbmF0ZWRfcm9sZXMnLFxuICAgIElNUEVSU09OQVRJT05fQ09ORklHX0ZJRUxEX0FVVEhTID0gJ2ltcGVyc29uYXRlZF9hdXRob3JpdGllcycsXG5cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ /* MODELS */
2
+ export * from './models/user-impersonation-constants';
3
+ export * from './models/user-impersonate-config-metadata';
4
+ /* SERVICES */
5
+ export * from './services/impersonation.service';
6
+ export * from './services/impersonation-user-select.service';
7
+ export * from './services/impersonation-user-list.service';
8
+ export * from './services/impersonation-user-resource.service';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvaW1wZXJzb25hdGlvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFDWixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYztBQUNkLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsZ0RBQWdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBNT0RFTFMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3VzZXItaW1wZXJzb25hdGlvbi1jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdXNlci1pbXBlcnNvbmF0ZS1jb25maWctbWV0YWRhdGEnO1xuXG4vKiBTRVJWSUNFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pbXBlcnNvbmF0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pbXBlcnNvbmF0aW9uLXVzZXItc2VsZWN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pbXBlcnNvbmF0aW9uLXVzZXItbGlzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaW1wZXJzb25hdGlvbi11c2VyLXJlc291cmNlLnNlcnZpY2UnO1xuIl19
@@ -0,0 +1,19 @@
1
+ import { UserListService } from '../../user/services/user-list.service';
2
+ import { Injectable } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./impersonation-user-resource.service";
5
+ import * as i2 from "../../logger/services/logger.service";
6
+ import * as i3 from "../../snack-bar/services/snack-bar.service";
7
+ import * as i4 from "@ngx-translate/core";
8
+ export class ImpersonationUserListService extends UserListService {
9
+ constructor(_resources, _logService, _snackbar, _translate) {
10
+ super(_resources, _logService, _snackbar, _translate);
11
+ this._logService = _logService;
12
+ }
13
+ }
14
+ ImpersonationUserListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserListService, deps: [{ token: i1.ImpersonationUserResourceService }, { token: i2.LoggerService }, { token: i3.SnackBarService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
15
+ ImpersonationUserListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserListService });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserListService, decorators: [{
17
+ type: Injectable
18
+ }], ctorParameters: function () { return [{ type: i1.ImpersonationUserResourceService }, { type: i2.LoggerService }, { type: i3.SnackBarService }, { type: i4.TranslateService }]; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wZXJzb25hdGlvbi11c2VyLWxpc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvaW1wZXJzb25hdGlvbi9zZXJ2aWNlcy9pbXBlcnNvbmF0aW9uLXVzZXItbGlzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFPekMsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGVBQWU7SUFFN0QsWUFBWSxVQUE0QyxFQUNsQyxXQUEwQixFQUNwQyxTQUEwQixFQUMxQixVQUE0QjtRQUNwQyxLQUFLLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFIcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWU7SUFJaEQsQ0FBQzs7MEhBUFEsNEJBQTRCOzhIQUE1Qiw0QkFBNEI7NEZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VXNlckxpc3RTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyL3NlcnZpY2VzL3VzZXItbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0ltcGVyc29uYXRpb25Vc2VyUmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuL2ltcGVyc29uYXRpb24tdXNlci1yZXNvdXJjZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEltcGVyc29uYXRpb25Vc2VyTGlzdFNlcnZpY2UgZXh0ZW5kcyBVc2VyTGlzdFNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoX3Jlc291cmNlczogSW1wZXJzb25hdGlvblVzZXJSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2dTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF9zbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX3Jlc291cmNlcywgX2xvZ1NlcnZpY2UsIF9zbmFja2JhciwgX3RyYW5zbGF0ZSk7XG4gICAgfVxuXG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { UserResourceService } from '../../resources/engine-endpoint/user-resource.service';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../resources/resource-provider.service";
6
+ import * as i2 from "../../configuration/configuration.service";
7
+ export class ImpersonationUserResourceService extends UserResourceService {
8
+ constructor(provider, configService) {
9
+ super(provider, configService);
10
+ this._IMPERSONATION_SERVER_URL = this.getResourceAddress('impersonation');
11
+ }
12
+ search(body, params) {
13
+ return this._resourceProvider.post$('/impersonate/search', this._IMPERSONATION_SERVER_URL, { query: body.fulltext }, params)
14
+ .pipe(map((r) => this.getResourcePage(r, 'users')));
15
+ }
16
+ }
17
+ ImpersonationUserResourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserResourceService, deps: [{ token: i1.ResourceProvider }, { token: i2.ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
18
+ ImpersonationUserResourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserResourceService, providedIn: 'root' });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserResourceService, decorators: [{
20
+ type: Injectable,
21
+ args: [{
22
+ providedIn: 'root'
23
+ }]
24
+ }], ctorParameters: function () { return [{ type: i1.ResourceProvider }, { type: i2.ConfigurationService }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wZXJzb25hdGlvbi11c2VyLXJlc291cmNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2ltcGVyc29uYXRpb24vc2VydmljZXMvaW1wZXJzb25hdGlvbi11c2VyLXJlc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQU8xRixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFLbkMsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLG1CQUFtQjtJQUlyRSxZQUFZLFFBQTBCLEVBQUUsYUFBbUM7UUFDdkUsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBd0IsRUFBRSxNQUFlO1FBQ25ELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMseUJBQXlCLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBQyxFQUFFLE1BQU0sQ0FBQzthQUNySCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFlLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7OEhBWlEsZ0NBQWdDO2tJQUFoQyxnQ0FBZ0MsY0FGN0IsTUFBTTs0RkFFVCxnQ0FBZ0M7a0JBSDVDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VXNlclJlc291cmNlU2VydmljZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2VuZ2luZS1lbmRwb2ludC91c2VyLXJlc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtSZXNvdXJjZVByb3ZpZGVyfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcmVzb3VyY2UtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1BhcmFtc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1BhZ2V9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvcGFnZSc7XG5pbXBvcnQge1VzZXJSZXNvdXJjZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS91c2VyLXJlc291cmNlJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW1wZXJzb25hdGlvblVzZXJSZXNvdXJjZVNlcnZpY2UgZXh0ZW5kcyBVc2VyUmVzb3VyY2VTZXJ2aWNlIHtcblxuICAgIHByb3RlY3RlZCBfSU1QRVJTT05BVElPTl9TRVJWRVJfVVJMOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm92aWRlcjogUmVzb3VyY2VQcm92aWRlciwgY29uZmlnU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIocHJvdmlkZXIsIGNvbmZpZ1NlcnZpY2UpO1xuICAgICAgICB0aGlzLl9JTVBFUlNPTkFUSU9OX1NFUlZFUl9VUkwgPSB0aGlzLmdldFJlc291cmNlQWRkcmVzcygnaW1wZXJzb25hdGlvbicpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2goYm9keToge2Z1bGx0ZXh0OiBzdHJpbmd9LCBwYXJhbXM/OiBQYXJhbXMpOiBPYnNlcnZhYmxlPFBhZ2U8VXNlclJlc291cmNlPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VQcm92aWRlci5wb3N0JCgnL2ltcGVyc29uYXRlL3NlYXJjaCcsIHRoaXMuX0lNUEVSU09OQVRJT05fU0VSVkVSX1VSTCwge3F1ZXJ5OiBib2R5LmZ1bGx0ZXh0fSwgcGFyYW1zKVxuICAgICAgICAgICAgLnBpcGUobWFwKChyKSA9PiB0aGlzLmdldFJlc291cmNlUGFnZTxVc2VyUmVzb3VyY2U+KHIsICd1c2VycycpKSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,85 @@
1
+ import { Inject, Injectable, Optional } from '@angular/core';
2
+ import { NAE_USER_IMPERSONATE_COMPONENT, NAE_ADMIN_IMPERSONATE_COMPONENT } from '../../side-menu/content-components/injection-tokens';
3
+ import { SideMenuSize } from '../../side-menu/models/side-menu-size';
4
+ import { SimpleFilter } from '../../filter/models/simple-filter';
5
+ import { UserImpersonationConstants } from '../models/user-impersonation-constants';
6
+ import moment from 'moment';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../logger/services/logger.service";
9
+ import * as i2 from "../../side-menu/services/side-menu.service";
10
+ import * as i3 from "../../snack-bar/services/snack-bar.service";
11
+ import * as i4 from "./impersonation.service";
12
+ import * as i5 from "../../user/services/user.service";
13
+ export class ImpersonationUserSelectService {
14
+ constructor(_log, _sideMenuService, _snackBar, _impersonation, _user, _userImpersonateComponent, _adminImpersonateComponent) {
15
+ this._log = _log;
16
+ this._sideMenuService = _sideMenuService;
17
+ this._snackBar = _snackBar;
18
+ this._impersonation = _impersonation;
19
+ this._user = _user;
20
+ this._userImpersonateComponent = _userImpersonateComponent;
21
+ this._adminImpersonateComponent = _adminImpersonateComponent;
22
+ }
23
+ /**
24
+ * Opens side menu with users who can be impersonated by logged user
25
+ */
26
+ selectImpersonate() {
27
+ if (this.isAdmin()) {
28
+ this._sideMenuService.open(this._adminImpersonateComponent, SideMenuSize.LARGE, this.injectedData()).onClose.subscribe(event => {
29
+ this._log.debug('Impersonable user select :' + event);
30
+ if (event.data === undefined) {
31
+ return;
32
+ }
33
+ this._impersonation.impersonateUser(event.data._id);
34
+ });
35
+ }
36
+ else {
37
+ this._sideMenuService.open(this._userImpersonateComponent, SideMenuSize.XL, this.injectedData()).onClose.subscribe(event => {
38
+ this._log.debug('Impersonable config select :' + event);
39
+ if (event.data === undefined) {
40
+ return;
41
+ }
42
+ this._impersonation.impersonateByConfig(event.data.stringId);
43
+ });
44
+ }
45
+ }
46
+ injectedData() {
47
+ const currentTime = moment();
48
+ let filterCasesFilter = SimpleFilter.fromCaseQuery({
49
+ process: {
50
+ identifier: UserImpersonationConstants.IMPERSONATION_CONFIG_NET_IDENTIFIER
51
+ },
52
+ query: `
53
+ (dataSet.impersonators.keyValue:${this._user.user.id}) AND
54
+ (dataSet.is_active.booleanValue:true) AND
55
+ ((!(_exists_:dataSet.valid_from.timestampValue)) OR (dataSet.valid_from.timestampValue:<` + currentTime.valueOf() + `)) AND
56
+ ((!(_exists_:dataSet.valid_to.timestampValue)) OR (dataSet.valid_to.timestampValue:>${currentTime.valueOf()}))
57
+ `
58
+ });
59
+ return {
60
+ filter: filterCasesFilter
61
+ };
62
+ }
63
+ isAdmin() {
64
+ return this._user.hasAuthority('ROLE_ADMIN');
65
+ }
66
+ }
67
+ ImpersonationUserSelectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserSelectService, deps: [{ token: i1.LoggerService }, { token: i2.SideMenuService }, { token: i3.SnackBarService }, { token: i4.ImpersonationService }, { token: i5.UserService }, { token: NAE_USER_IMPERSONATE_COMPONENT, optional: true }, { token: NAE_ADMIN_IMPERSONATE_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
68
+ ImpersonationUserSelectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserSelectService, providedIn: 'root' });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationUserSelectService, decorators: [{
70
+ type: Injectable,
71
+ args: [{
72
+ providedIn: 'root'
73
+ }]
74
+ }], ctorParameters: function () { return [{ type: i1.LoggerService }, { type: i2.SideMenuService }, { type: i3.SnackBarService }, { type: i4.ImpersonationService }, { type: i5.UserService }, { type: undefined, decorators: [{
75
+ type: Optional
76
+ }, {
77
+ type: Inject,
78
+ args: [NAE_USER_IMPERSONATE_COMPONENT]
79
+ }] }, { type: undefined, decorators: [{
80
+ type: Optional
81
+ }, {
82
+ type: Inject,
83
+ args: [NAE_ADMIN_IMPERSONATE_COMPONENT]
84
+ }] }]; } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wZXJzb25hdGlvbi11c2VyLXNlbGVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9pbXBlcnNvbmF0aW9uL3NlcnZpY2VzL2ltcGVyc29uYXRpb24tdXNlci1zZWxlY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUFDLDhCQUE4QixFQUFFLCtCQUErQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFJcEksT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBS25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7QUFNNUIsTUFBTSxPQUFPLDhCQUE4QjtJQUV2QyxZQUFzQixJQUFtQixFQUNuQixnQkFBaUMsRUFDakMsU0FBMEIsRUFDMUIsY0FBb0MsRUFDcEMsS0FBa0IsRUFDa0MseUJBQThCLEVBQzdCLDBCQUErQjtRQU5wRixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBQ3BDLFVBQUssR0FBTCxLQUFLLENBQWE7UUFDa0MsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUFLO1FBQzdCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBSztJQUN2RyxDQUFDO0lBRUo7O09BRUc7SUFDSSxpQkFBaUI7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMzSCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtvQkFDMUIsT0FBTztpQkFDVjtnQkFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdkgsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsOEJBQThCLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQ3hELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7b0JBQzFCLE9BQU87aUJBQ1Y7Z0JBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBRSxLQUFLLENBQUMsSUFBc0MsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRyxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVTLFlBQVk7UUFDbEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDN0IsSUFBSSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDO1lBQy9DLE9BQU8sRUFBRTtnQkFDTCxVQUFVLEVBQUUsMEJBQTBCLENBQUMsbUNBQW1DO2FBQzdFO1lBQ0QsS0FBSyxFQUFFOzhDQUMyQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFOztxR0FFcUMsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLEdBQUc7a0dBQzlCLFdBQVcsQ0FBQyxPQUFPLEVBQUU7YUFDMUc7U0FDSixDQUFDLENBQUM7UUFDSCxPQUFPO1lBQ0gsTUFBTSxFQUFFLGlCQUFpQjtTQUNJLENBQUE7SUFDckMsQ0FBQztJQUVTLE9BQU87UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pELENBQUM7OzRIQXREUSw4QkFBOEIsNEtBT1AsOEJBQThCLDZCQUM5QiwrQkFBK0I7Z0lBUnRELDhCQUE4QixjQUY3QixNQUFNOzRGQUVQLDhCQUE4QjtrQkFIMUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLDhCQUE4Qjs7MEJBQ2pELFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SW1wZXJzb25hdGlvblNlcnZpY2V9IGZyb20gXCIuL2ltcGVyc29uYXRpb24uc2VydmljZVwiO1xuaW1wb3J0IHtOQUVfVVNFUl9JTVBFUlNPTkFURV9DT01QT05FTlQsIE5BRV9BRE1JTl9JTVBFUlNPTkFURV9DT01QT05FTlR9IGZyb20gJy4uLy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7U2lkZU1lbnVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zaWRlLW1lbnUvc2VydmljZXMvc2lkZS1tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHtTaWRlTWVudVNpemV9IGZyb20gJy4uLy4uL3NpZGUtbWVudS9tb2RlbHMvc2lkZS1tZW51LXNpemUnO1xuaW1wb3J0IHtVc2VySW1wZXJzb25hdGVDb25maWdNZXRhZGF0YX0gZnJvbSAnLi4vbW9kZWxzL3VzZXItaW1wZXJzb25hdGUtY29uZmlnLW1ldGFkYXRhJztcbmltcG9ydCB7XG4gICAgVXNlckltcGVyc29uYXRlSW5qZWN0aW9uRGF0YVxufSBmcm9tICcuLi8uLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3VzZXItaW1wZXJzb25hdGUvbW9kZWwvdXNlci1pbXBlcnNvbmF0ZS1pbmplY3Rpb24tZGF0YSc7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSAnLi4vLi4vZmlsdGVyL21vZGVscy9zaW1wbGUtZmlsdGVyJztcbmltcG9ydCB7VXNlckltcGVyc29uYXRpb25Db25zdGFudHN9IGZyb20gJy4uL21vZGVscy91c2VyLWltcGVyc29uYXRpb24tY29uc3RhbnRzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7VXNlclNlcnZpY2V9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvdXNlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW1wZXJzb25hdGlvblVzZXJTZWxlY3RTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfc2lkZU1lbnVTZXJ2aWNlOiBTaWRlTWVudVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja0JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfaW1wZXJzb25hdGlvbjogSW1wZXJzb25hdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF91c2VyOiBVc2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9VU0VSX0lNUEVSU09OQVRFX0NPTVBPTkVOVCkgcHJvdGVjdGVkIF91c2VySW1wZXJzb25hdGVDb21wb25lbnQ6IGFueSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9BRE1JTl9JTVBFUlNPTkFURV9DT01QT05FTlQpIHByb3RlY3RlZCBfYWRtaW5JbXBlcnNvbmF0ZUNvbXBvbmVudDogYW55LFxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIHNpZGUgbWVudSB3aXRoIHVzZXJzIHdobyBjYW4gYmUgaW1wZXJzb25hdGVkIGJ5IGxvZ2dlZCB1c2VyXG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdEltcGVyc29uYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0FkbWluKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpZGVNZW51U2VydmljZS5vcGVuKHRoaXMuX2FkbWluSW1wZXJzb25hdGVDb21wb25lbnQsIFNpZGVNZW51U2l6ZS5MQVJHRSwgdGhpcy5pbmplY3RlZERhdGEoKSkub25DbG9zZS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvZy5kZWJ1ZygnSW1wZXJzb25hYmxlIHVzZXIgc2VsZWN0IDonICsgZXZlbnQpO1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9pbXBlcnNvbmF0aW9uLmltcGVyc29uYXRlVXNlcihldmVudC5kYXRhLl9pZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NpZGVNZW51U2VydmljZS5vcGVuKHRoaXMuX3VzZXJJbXBlcnNvbmF0ZUNvbXBvbmVudCwgU2lkZU1lbnVTaXplLlhMLCB0aGlzLmluamVjdGVkRGF0YSgpKS5vbkNsb3NlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9nLmRlYnVnKCdJbXBlcnNvbmFibGUgY29uZmlnIHNlbGVjdCA6JyArIGV2ZW50KTtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5faW1wZXJzb25hdGlvbi5pbXBlcnNvbmF0ZUJ5Q29uZmlnKChldmVudC5kYXRhIGFzIFVzZXJJbXBlcnNvbmF0ZUNvbmZpZ01ldGFkYXRhKS5zdHJpbmdJZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBpbmplY3RlZERhdGEoKTogVXNlckltcGVyc29uYXRlSW5qZWN0aW9uRGF0YSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbW9tZW50KCk7XG4gICAgICAgIGxldCBmaWx0ZXJDYXNlc0ZpbHRlciA9IFNpbXBsZUZpbHRlci5mcm9tQ2FzZVF1ZXJ5KHtcbiAgICAgICAgICAgIHByb2Nlc3M6IHtcbiAgICAgICAgICAgICAgICBpZGVudGlmaWVyOiBVc2VySW1wZXJzb25hdGlvbkNvbnN0YW50cy5JTVBFUlNPTkFUSU9OX0NPTkZJR19ORVRfSURFTlRJRklFUlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHF1ZXJ5OiBgXG4gICAgICAgICAgICAoZGF0YVNldC5pbXBlcnNvbmF0b3JzLmtleVZhbHVlOiR7dGhpcy5fdXNlci51c2VyLmlkfSkgQU5EXG4gICAgICAgICAgICAoZGF0YVNldC5pc19hY3RpdmUuYm9vbGVhblZhbHVlOnRydWUpIEFORFxuICAgICAgICAgICAgKCghKF9leGlzdHNfOmRhdGFTZXQudmFsaWRfZnJvbS50aW1lc3RhbXBWYWx1ZSkpIE9SIChkYXRhU2V0LnZhbGlkX2Zyb20udGltZXN0YW1wVmFsdWU6PGAgKyBjdXJyZW50VGltZS52YWx1ZU9mKCkgKyBgKSkgQU5EXG4gICAgICAgICAgICAoKCEoX2V4aXN0c186ZGF0YVNldC52YWxpZF90by50aW1lc3RhbXBWYWx1ZSkpIE9SIChkYXRhU2V0LnZhbGlkX3RvLnRpbWVzdGFtcFZhbHVlOj4ke2N1cnJlbnRUaW1lLnZhbHVlT2YoKX0pKVxuICAgICAgICAgICAgYFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZpbHRlcjogZmlsdGVyQ2FzZXNGaWx0ZXJcbiAgICAgICAgfSBhcyBVc2VySW1wZXJzb25hdGVJbmplY3Rpb25EYXRhXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzQWRtaW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyLmhhc0F1dGhvcml0eSgnUk9MRV9BRE1JTicpO1xuICAgIH1cblxufVxuIl19
@@ -0,0 +1,90 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { AbstractResourceService } from '../../resources/public-api';
3
+ import { Subject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../resources/public-api";
6
+ import * as i2 from "@angular/router";
7
+ import * as i3 from "../../configuration/configuration.service";
8
+ import * as i4 from "../../user/services/user.service";
9
+ import * as i5 from "../../snack-bar/services/snack-bar.service";
10
+ import * as i6 from "../../filter/filter.repository";
11
+ import * as i7 from "../../logger/services/logger.service";
12
+ import * as i8 from "@ngx-translate/core";
13
+ export class ImpersonationService extends AbstractResourceService {
14
+ constructor(provider, _router, _configService, _userService, _snackbar, _filter, _log, _translate) {
15
+ super('impersonation', provider, _configService);
16
+ this.provider = provider;
17
+ this._router = _router;
18
+ this._configService = _configService;
19
+ this._userService = _userService;
20
+ this._snackbar = _snackbar;
21
+ this._filter = _filter;
22
+ this._log = _log;
23
+ this._translate = _translate;
24
+ this._impersonating$ = new Subject();
25
+ this._sub = this._userService.user$.subscribe(user => this._resolveUserChange(user));
26
+ }
27
+ get impersonating$() {
28
+ return this._impersonating$.asObservable();
29
+ }
30
+ impersonateUser(userId) {
31
+ this.provider.post$('impersonate/user/' + userId, this.SERVER_URL, {}).subscribe((user) => {
32
+ this._resolveSuccess(user);
33
+ }, (response => {
34
+ this._resolveError(response);
35
+ }));
36
+ }
37
+ impersonateByConfig(configId) {
38
+ this.provider.post$('impersonate/config/' + configId, this.SERVER_URL, {}).subscribe((user) => {
39
+ this._resolveSuccess(user);
40
+ }, (response => {
41
+ this._resolveError(response);
42
+ }));
43
+ }
44
+ cease() {
45
+ this.provider.post$('impersonate/clear', this.SERVER_URL, {}).subscribe(user => {
46
+ this._snackbar.openSuccessSnackBar(this._translate.instant('impersonation.action.deactivated'));
47
+ return this._triggerReload();
48
+ }, (error => {
49
+ this._snackbar.openErrorSnackBar(this._translate.instant('impersonation.action.failed'));
50
+ }));
51
+ }
52
+ _resolveSuccess(user) {
53
+ this._snackbar.openSuccessSnackBar(this._translate.instant('impersonation.user.successfullyRepresented'));
54
+ this._triggerReload();
55
+ }
56
+ _resolveError(response) {
57
+ if (response.status === 400) {
58
+ response.error.alreadyImpersonated ?
59
+ this._snackbar.openErrorSnackBar(this._translate.instant('impersonation.user.currentlyAlreadyRepresented')) :
60
+ this._snackbar.openErrorSnackBar(this._translate.instant('impersonation.user.currentlyLogged'));
61
+ }
62
+ else {
63
+ this._snackbar.openErrorSnackBar(this._translate.instant('impersonation.action.failed'));
64
+ }
65
+ }
66
+ _triggerReload() {
67
+ this._userService.reload();
68
+ }
69
+ _resolveUserChange(user) {
70
+ if (this._lastUser && this._lastUser.isImpersonating() != user.isImpersonating()) {
71
+ this._filter.removeAllFilters();
72
+ this._impersonating$.next(user.isImpersonating());
73
+ }
74
+ this._lastUser = user;
75
+ }
76
+ ngOnDestroy() {
77
+ if (this._sub) {
78
+ this._sub.unsubscribe();
79
+ }
80
+ }
81
+ }
82
+ ImpersonationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationService, deps: [{ token: i1.ResourceProvider }, { token: i2.Router }, { token: i3.ConfigurationService }, { token: i4.UserService }, { token: i5.SnackBarService }, { token: i6.FilterRepository }, { token: i7.LoggerService }, { token: i8.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
83
+ ImpersonationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationService, providedIn: 'root' });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImpersonationService, decorators: [{
85
+ type: Injectable,
86
+ args: [{
87
+ providedIn: 'root'
88
+ }]
89
+ }], ctorParameters: function () { return [{ type: i1.ResourceProvider }, { type: i2.Router }, { type: i3.ConfigurationService }, { type: i4.UserService }, { type: i5.SnackBarService }, { type: i6.FilterRepository }, { type: i7.LoggerService }, { type: i8.TranslateService }]; } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wZXJzb25hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9pbXBlcnNvbmF0aW9uL3NlcnZpY2VzL2ltcGVyc29uYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3BELE9BQU8sRUFBQyx1QkFBdUIsRUFBaUMsTUFBTSw0QkFBNEIsQ0FBQztBQU1uRyxPQUFPLEVBQWEsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBTXZELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7SUFPN0QsWUFBNkIsUUFBMEIsRUFDMUIsT0FBZSxFQUNmLGNBQW9DLEVBQ3BDLFlBQXlCLEVBQ3pCLFNBQTBCLEVBQzFCLE9BQXlCLEVBQ3pCLElBQW1CLEVBQ25CLFVBQTRCO1FBQ3JELEtBQUssQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBUnhCLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDekIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQVpqRCxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFjN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENB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SSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDOUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQzs7a0hBL0VRLG9CQUFvQjtzSEFBcEIsb0JBQW9CLGNBRmpCLE1BQU07NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RSZXNvdXJjZVNlcnZpY2UsIFJlc291cmNlUHJvdmlkZXIsIFVzZXJSZXNvdXJjZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtVc2VyU2VydmljZX0gZnJvbSAnLi4vLi4vdXNlci9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtTbmFja0JhclNlcnZpY2V9IGZyb20gJy4uLy4uL3NuYWNrLWJhci9zZXJ2aWNlcy9zbmFjay1iYXIuc2VydmljZSc7XG5pbXBvcnQge0ZpbHRlclJlcG9zaXRvcnl9IGZyb20gJy4uLy4uL2ZpbHRlci9maWx0ZXIucmVwb3NpdG9yeSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1VzZXJ9IGZyb20gJy4uLy4uL3VzZXIvbW9kZWxzL3VzZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEltcGVyc29uYXRpb25TZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3RSZXNvdXJjZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgcHJpdmF0ZSBfaW1wZXJzb25hdGluZyQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBfbGFzdFVzZXI6IFVzZXI7XG4gICAgcHJpdmF0ZSBfc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvdGVjdGVkIHByb3ZpZGVyOiBSZXNvdXJjZVByb3ZpZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3JvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NvbmZpZ1NlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2ZpbHRlcjogRmlsdGVyUmVwb3NpdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCdpbXBlcnNvbmF0aW9uJywgcHJvdmlkZXIsIF9jb25maWdTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fc3ViID0gdGhpcy5fdXNlclNlcnZpY2UudXNlciQuc3Vic2NyaWJlKHVzZXIgPT4gdGhpcy5fcmVzb2x2ZVVzZXJDaGFuZ2UodXNlcikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaW1wZXJzb25hdGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbXBlcnNvbmF0aW5nJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW1wZXJzb25hdGVVc2VyKHVzZXJJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvdmlkZXIucG9zdCQoJ2ltcGVyc29uYXRlL3VzZXIvJyArIHVzZXJJZCwgdGhpcy5TRVJWRVJfVVJMLCB7fSkuc3Vic2NyaWJlKCh1c2VyOiBVc2VyUmVzb3VyY2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc29sdmVTdWNjZXNzKHVzZXIpO1xuICAgICAgICB9LCAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcmVzb2x2ZUVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbXBlcnNvbmF0ZUJ5Q29uZmlnKGNvbmZpZ0lkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm92aWRlci5wb3N0JCgnaW1wZXJzb25hdGUvY29uZmlnLycgKyBjb25maWdJZCwgdGhpcy5TRVJWRVJfVVJMLCB7fSkuc3Vic2NyaWJlKCh1c2VyOiBVc2VyUmVzb3VyY2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc29sdmVTdWNjZXNzKHVzZXIpO1xuICAgICAgICB9LCAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcmVzb2x2ZUVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjZWFzZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm92aWRlci5wb3N0JCgnaW1wZXJzb25hdGUvY2xlYXInLCB0aGlzLlNFUlZFUl9VUkwsIHt9KS5zdWJzY3JpYmUodXNlciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuU3VjY2Vzc1NuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdpbXBlcnNvbmF0aW9uLmFjdGlvbi5kZWFjdGl2YXRlZCcpKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl90cmlnZ2VyUmVsb2FkKCk7XG4gICAgICAgIH0sIChlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuRXJyb3JTbmFja0Jhcih0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnaW1wZXJzb25hdGlvbi5hY3Rpb24uZmFpbGVkJykpO1xuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9yZXNvbHZlU3VjY2Vzcyh1c2VyOiBVc2VyUmVzb3VyY2UpIHtcbiAgICAgICAgdGhpcy5fc25hY2tiYXIub3BlblN1Y2Nlc3NTbmFja0Jhcih0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnaW1wZXJzb25hdGlvbi51c2VyLnN1Y2Nlc3NmdWxseVJlcHJlc2VudGVkJykpO1xuICAgICAgICB0aGlzLl90cmlnZ2VyUmVsb2FkKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9yZXNvbHZlRXJyb3IocmVzcG9uc2U6IGFueSkge1xuICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDApIHtcbiAgICAgICAgICAgIHJlc3BvbnNlLmVycm9yLmFscmVhZHlJbXBlcnNvbmF0ZWQgP1xuICAgICAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW5FcnJvclNuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdpbXBlcnNvbmF0aW9uLnVzZXIuY3VycmVudGx5QWxyZWFkeVJlcHJlc2VudGVkJykpIDpcbiAgICAgICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuRXJyb3JTbmFja0Jhcih0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnaW1wZXJzb25hdGlvbi51c2VyLmN1cnJlbnRseUxvZ2dlZCcpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW5FcnJvclNuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdpbXBlcnNvbmF0aW9uLmFjdGlvbi5mYWlsZWQnKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3RyaWdnZXJSZWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VzZXJTZXJ2aWNlLnJlbG9hZCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfcmVzb2x2ZVVzZXJDaGFuZ2UodXNlcjogVXNlcikge1xuICAgICAgICBpZiAodGhpcy5fbGFzdFVzZXIgJiYgdGhpcy5fbGFzdFVzZXIuaXNJbXBlcnNvbmF0aW5nKCkgIT0gdXNlci5pc0ltcGVyc29uYXRpbmcoKSkge1xuICAgICAgICAgICAgdGhpcy5fZmlsdGVyLnJlbW92ZUFsbEZpbHRlcnMoKTtcbiAgICAgICAgICAgIHRoaXMuX2ltcGVyc29uYXRpbmckLm5leHQodXNlci5pc0ltcGVyc29uYXRpbmcoKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbGFzdFVzZXIgPSB1c2VyO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc3ViKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==