@csmart/ngc-smart-core 1.15.7 → 1.16.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 (50) hide show
  1. package/{esm2020 → esm2022}/csmart-ngc-smart-core.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/ngc-smart-core.module.mjs +98 -98
  3. package/{esm2020 → esm2022}/lib/smart-auth/smart-access-control-config.mjs +11 -11
  4. package/{esm2020 → esm2022}/lib/smart-auth/smart-access-control.directive.mjs +39 -39
  5. package/{esm2020 → esm2022}/lib/smart-auth/smart-auth.service.mjs +452 -452
  6. package/{esm2020 → esm2022}/lib/smart-auth/smart-authorization-guard.service.mjs +35 -35
  7. package/{esm2020 → esm2022}/lib/smart-auth/smart-error.component.mjs +37 -37
  8. package/esm2022/lib/smart-auth/smart-login-staff-resolver.service.mjs +59 -0
  9. package/esm2022/lib/smart-auth/smart-selected-offender-resolver.service.mjs +60 -0
  10. package/{esm2020 → esm2022}/lib/smart-navbar/smart-navbar-config.mjs +1 -1
  11. package/{esm2020 → esm2022}/lib/smart-navbar/smart-navbar.component.mjs +174 -174
  12. package/{esm2020 → esm2022}/lib/smart-navbar/smart-navbar.service.mjs +52 -52
  13. package/{esm2020 → esm2022}/lib/smart-offender-header/smart-offender-header.component.mjs +151 -151
  14. package/{esm2020 → esm2022}/lib/smart-offender-header/smart-offender-header.service.mjs +29 -29
  15. package/{esm2020 → esm2022}/lib/smart-offender-header/smart-offender-redirect.guard.mjs +27 -27
  16. package/{esm2020 → esm2022}/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.mjs +25 -25
  17. package/{esm2020 → esm2022}/lib/smart-staff-offender-options/smart-staff-offender-options.component.mjs +78 -78
  18. package/{esm2020 → esm2022}/lib/smart-staff-offender-options/smart-staff-offender-options.service.mjs +110 -110
  19. package/esm2022/lib/smart-storage/smart-storage-model.mjs +30 -0
  20. package/{esm2020 → esm2022}/lib/smart-storage/xdm.service.mjs +169 -169
  21. package/{esm2020 → esm2022}/public-api.mjs +20 -20
  22. package/{fesm2020 → fesm2022}/csmart-ngc-smart-core.mjs +1454 -1454
  23. package/{fesm2015 → fesm2022}/csmart-ngc-smart-core.mjs.map +1 -1
  24. package/index.d.ts +5 -5
  25. package/lib/ngc-smart-core.module.d.ts +20 -20
  26. package/lib/smart-auth/smart-access-control-config.d.ts +17 -17
  27. package/lib/smart-auth/smart-access-control.directive.d.ts +14 -14
  28. package/lib/smart-auth/smart-auth.service.d.ts +41 -41
  29. package/lib/smart-auth/smart-authorization-guard.service.d.ts +13 -13
  30. package/lib/smart-auth/smart-error.component.d.ts +17 -17
  31. package/lib/smart-auth/smart-login-staff-resolver.service.d.ts +13 -13
  32. package/lib/smart-auth/smart-selected-offender-resolver.service.d.ts +15 -15
  33. package/lib/smart-navbar/smart-navbar-config.d.ts +7 -7
  34. package/lib/smart-navbar/smart-navbar.component.d.ts +42 -42
  35. package/lib/smart-navbar/smart-navbar.service.d.ts +12 -12
  36. package/lib/smart-offender-header/smart-offender-header.component.d.ts +32 -32
  37. package/lib/smart-offender-header/smart-offender-header.service.d.ts +18 -18
  38. package/lib/smart-offender-header/smart-offender-redirect.guard.d.ts +9 -9
  39. package/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.d.ts +10 -11
  40. package/lib/smart-staff-offender-options/smart-staff-offender-options.component.d.ts +22 -22
  41. package/lib/smart-staff-offender-options/smart-staff-offender-options.service.d.ts +19 -19
  42. package/lib/smart-storage/smart-storage-model.d.ts +58 -58
  43. package/lib/smart-storage/xdm.service.d.ts +43 -43
  44. package/package.json +5 -11
  45. package/public-api.d.ts +17 -17
  46. package/esm2020/lib/smart-auth/smart-login-staff-resolver.service.mjs +0 -59
  47. package/esm2020/lib/smart-auth/smart-selected-offender-resolver.service.mjs +0 -60
  48. package/esm2020/lib/smart-storage/smart-storage-model.mjs +0 -30
  49. package/fesm2015/csmart-ngc-smart-core.mjs +0 -1670
  50. package/fesm2020/csmart-ngc-smart-core.mjs.map +0 -1
@@ -1,35 +1,35 @@
1
- // smart-authorization.service
2
- import { Injectable } from '@angular/core';
3
- import { take, mergeMap, catchError } from 'rxjs/operators';
4
- import { of } from 'rxjs';
5
- import { SmartAuthService } from './smart-auth.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./smart-auth.service";
8
- export class SmartAuthorizationGuard {
9
- constructor(authnService) {
10
- this.authnService = authnService;
11
- }
12
- canActivate(route) {
13
- return this.authnService.getLoginStaff().pipe(take(1), mergeMap((loginStaff) => {
14
- if (!loginStaff || !route || !route.routeConfig) {
15
- return of(false);
16
- }
17
- // if (!this.authnService.isAuthEnable(loginStaff.roles, null)) {
18
- // return of(true);
19
- // }
20
- const resource = route.routeConfig.path
21
- ? route.routeConfig.path.split('/')[0]
22
- : '';
23
- const isFeatureValid = this.authnService.canAppFeatureActivate(loginStaff, resource);
24
- return of(isFeatureValid);
25
- }), catchError((error) => {
26
- return of(false);
27
- }));
28
- }
29
- }
30
- /** @nocollapse */ SmartAuthorizationGuardfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SmartAuthorizationGuard, deps: [{ token: i1.SmartAuthService }], target: i0.ɵɵFactoryTarget.Injectable });
31
- /** @nocollapse */ SmartAuthorizationGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SmartAuthorizationGuard });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SmartAuthorizationGuard, decorators: [{
33
- type: Injectable
34
- }], ctorParameters: function () { return [{ type: i1.SmartAuthService }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYXV0aG9yaXphdGlvbi1ndWFyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3NtYXJ0L25nYy1zbWFydC1jb3JlL3NyYy9saWIvc21hcnQtYXV0aC9zbWFydC1hdXRob3JpemF0aW9uLWd1YXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPM0MsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEVBQUUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR3hELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBbUIsWUFBOEI7UUFBOUIsaUJBQVksR0FBWixZQUFZLENBQWtCO0lBQUksQ0FBQztJQUV0RCxXQUFXLENBQUMsS0FBNkI7UUFDdkMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDM0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFFBQVEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO2dCQUMvQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQjtZQUNELGlFQUFpRTtZQUNqRSxxQkFBcUI7WUFDckIsSUFBSTtZQUNKLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSTtnQkFDckMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUM1RCxVQUFVLEVBQ1YsUUFBUSxDQUNULENBQUM7WUFDRixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7d0lBNUJVLHVCQUF1Qjs0SUFBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzbWFydC1hdXRob3JpemF0aW9uLnNlcnZpY2VcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENhbkFjdGl2YXRlLFxyXG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyB0YWtlLCBtZXJnZU1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTG9naW5TdGFmZiB9IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcbmltcG9ydCB7IFNtYXJ0QXV0aFNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LWF1dGguc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbWFydEF1dGhvcml6YXRpb25HdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcclxuICBsb2dpblN0YWZmOiBMb2dpblN0YWZmO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aG5TZXJ2aWNlOiBTbWFydEF1dGhTZXJ2aWNlKSB7IH1cclxuXHJcbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcclxuICAgIHJldHVybiB0aGlzLmF1dGhuU2VydmljZS5nZXRMb2dpblN0YWZmKCkucGlwZShcclxuICAgICAgdGFrZSgxKSxcclxuICAgICAgbWVyZ2VNYXAoKGxvZ2luU3RhZmYpID0+IHtcclxuICAgICAgICBpZiAoIWxvZ2luU3RhZmYgfHwgIXJvdXRlIHx8ICFyb3V0ZS5yb3V0ZUNvbmZpZykge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gaWYgKCF0aGlzLmF1dGhuU2VydmljZS5pc0F1dGhFbmFibGUobG9naW5TdGFmZi5yb2xlcywgbnVsbCkpIHtcclxuICAgICAgICAvLyAgIHJldHVybiBvZih0cnVlKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgY29uc3QgcmVzb3VyY2UgPSByb3V0ZS5yb3V0ZUNvbmZpZy5wYXRoXHJcbiAgICAgICAgICA/IHJvdXRlLnJvdXRlQ29uZmlnLnBhdGguc3BsaXQoJy8nKVswXVxyXG4gICAgICAgICAgOiAnJztcclxuICAgICAgICBjb25zdCBpc0ZlYXR1cmVWYWxpZCA9IHRoaXMuYXV0aG5TZXJ2aWNlLmNhbkFwcEZlYXR1cmVBY3RpdmF0ZShcclxuICAgICAgICAgIGxvZ2luU3RhZmYsXHJcbiAgICAgICAgICByZXNvdXJjZSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBvZihpc0ZlYXR1cmVWYWxpZCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
1
+ // smart-authorization.service
2
+ import { Injectable } from '@angular/core';
3
+ import { take, mergeMap, catchError } from 'rxjs/operators';
4
+ import { of } from 'rxjs';
5
+ import { SmartAuthService } from './smart-auth.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./smart-auth.service";
8
+ export class SmartAuthorizationGuard {
9
+ constructor(authnService) {
10
+ this.authnService = authnService;
11
+ }
12
+ canActivate(route) {
13
+ return this.authnService.getLoginStaff().pipe(take(1), mergeMap((loginStaff) => {
14
+ if (!loginStaff || !route || !route.routeConfig) {
15
+ return of(false);
16
+ }
17
+ // if (!this.authnService.isAuthEnable(loginStaff.roles, null)) {
18
+ // return of(true);
19
+ // }
20
+ const resource = route.routeConfig.path
21
+ ? route.routeConfig.path.split('/')[0]
22
+ : '';
23
+ const isFeatureValid = this.authnService.canAppFeatureActivate(loginStaff, resource);
24
+ return of(isFeatureValid);
25
+ }), catchError((error) => {
26
+ return of(false);
27
+ }));
28
+ }
29
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartAuthorizationGuard, deps: [{ token: i1.SmartAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
30
+ /** @nocollapse */ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartAuthorizationGuard }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartAuthorizationGuard, decorators: [{
33
+ type: Injectable
34
+ }], ctorParameters: function () { return [{ type: i1.SmartAuthService }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYXV0aG9yaXphdGlvbi1ndWFyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3NtYXJ0L25nYy1zbWFydC1jb3JlL3NyYy9saWIvc21hcnQtYXV0aC9zbWFydC1hdXRob3JpemF0aW9uLWd1YXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEVBQUUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR3hELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBbUIsWUFBOEI7UUFBOUIsaUJBQVksR0FBWixZQUFZLENBQWtCO0lBQUksQ0FBQztJQUV0RCxXQUFXLENBQUMsS0FBNkI7UUFDdkMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDM0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFFBQVEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO2dCQUMvQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQjtZQUNELGlFQUFpRTtZQUNqRSxxQkFBcUI7WUFDckIsSUFBSTtZQUNKLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSTtnQkFDckMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUM1RCxVQUFVLEVBQ1YsUUFBUSxDQUNULENBQUM7WUFDRixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztrSUE1QlUsdUJBQXVCO3NJQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzbWFydC1hdXRob3JpemF0aW9uLnNlcnZpY2VcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgdGFrZSwgbWVyZ2VNYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IG9mLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvZ2luU3RhZmYgfSBmcm9tICcuLi9zbWFydC1zdG9yYWdlL3NtYXJ0LXN0b3JhZ2UtbW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1hdXRoLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU21hcnRBdXRob3JpemF0aW9uR3VhcmQgIHtcclxuICBsb2dpblN0YWZmOiBMb2dpblN0YWZmO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aG5TZXJ2aWNlOiBTbWFydEF1dGhTZXJ2aWNlKSB7IH1cclxuXHJcbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcclxuICAgIHJldHVybiB0aGlzLmF1dGhuU2VydmljZS5nZXRMb2dpblN0YWZmKCkucGlwZShcclxuICAgICAgdGFrZSgxKSxcclxuICAgICAgbWVyZ2VNYXAoKGxvZ2luU3RhZmYpID0+IHtcclxuICAgICAgICBpZiAoIWxvZ2luU3RhZmYgfHwgIXJvdXRlIHx8ICFyb3V0ZS5yb3V0ZUNvbmZpZykge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gaWYgKCF0aGlzLmF1dGhuU2VydmljZS5pc0F1dGhFbmFibGUobG9naW5TdGFmZi5yb2xlcywgbnVsbCkpIHtcclxuICAgICAgICAvLyAgIHJldHVybiBvZih0cnVlKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgY29uc3QgcmVzb3VyY2UgPSByb3V0ZS5yb3V0ZUNvbmZpZy5wYXRoXHJcbiAgICAgICAgICA/IHJvdXRlLnJvdXRlQ29uZmlnLnBhdGguc3BsaXQoJy8nKVswXVxyXG4gICAgICAgICAgOiAnJztcclxuICAgICAgICBjb25zdCBpc0ZlYXR1cmVWYWxpZCA9IHRoaXMuYXV0aG5TZXJ2aWNlLmNhbkFwcEZlYXR1cmVBY3RpdmF0ZShcclxuICAgICAgICAgIGxvZ2luU3RhZmYsXHJcbiAgICAgICAgICByZXNvdXJjZSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBvZihpc0ZlYXR1cmVWYWxpZCk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,37 +1,37 @@
1
- import { Component, Inject } from '@angular/core';
2
- // import { SmartAuthService } from './smart-auth.service';
3
- import { MsalService } from '@azure/msal-angular';
4
- import { ActivatedRoute } from '@angular/router';
5
- import { SMART_WEB_PORTAL_URL } from '../smart-storage/smart-storage-model';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@azure/msal-angular";
8
- import * as i2 from "@angular/router";
9
- import * as i3 from "@angular/common";
10
- export class SmartErrorComponent {
11
- constructor(authnService, route, smartWebPortalUrl) {
12
- this.authnService = authnService;
13
- this.route = route;
14
- this.smartWebPortalUrl = smartWebPortalUrl;
15
- }
16
- ngOnInit() {
17
- this.type = this.route.snapshot.queryParamMap.get('type') || 'staff';
18
- this.message =
19
- this.route.snapshot.queryParamMap.get('message') || 'Error occured.';
20
- }
21
- logout() {
22
- this.authnService.logout();
23
- }
24
- portal() {
25
- window.location.href = this.smartWebPortalUrl;
26
- }
27
- }
28
- /** @nocollapse */ SmartErrorComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SmartErrorComponent, deps: [{ token: i1.MsalService }, { token: i2.ActivatedRoute }, { token: SMART_WEB_PORTAL_URL }], target: i0.ɵɵFactoryTarget.Component });
29
- /** @nocollapse */ SmartErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SmartErrorComponent, selector: "app-smart-error", ngImport: i0, template: "<div>\r\n <h2>\r\n {{ message }}\r\n </h2>\r\n <p>\r\n Please contact help desk if needed.\r\n </p>\r\n <div>\r\n <button (click)=\"logout()\" *ngIf=\"type === 'staff'\">OK</button>\r\n <button (click)=\"portal()\" *ngIf=\"type === 'offender'\">OK</button>\r\n </div>\r\n</div>\r\n", styles: ["div{text-align:center}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SmartErrorComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'app-smart-error', template: "<div>\r\n <h2>\r\n {{ message }}\r\n </h2>\r\n <p>\r\n Please contact help desk if needed.\r\n </p>\r\n <div>\r\n <button (click)=\"logout()\" *ngIf=\"type === 'staff'\">OK</button>\r\n <button (click)=\"portal()\" *ngIf=\"type === 'offender'\">OK</button>\r\n </div>\r\n</div>\r\n", styles: ["div{text-align:center}\n"] }]
33
- }], ctorParameters: function () { return [{ type: i1.MsalService }, { type: i2.ActivatedRoute }, { type: undefined, decorators: [{
34
- type: Inject,
35
- args: [SMART_WEB_PORTAL_URL]
36
- }] }]; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3NtYXJ0L25nYy1zbWFydC1jb3JlL3NyYy9saWIvc21hcnQtYXV0aC9zbWFydC1lcnJvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jc21hcnQvbmdjLXNtYXJ0LWNvcmUvc3JjL2xpYi9zbWFydC1hdXRoL3NtYXJ0LWVycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELDJEQUEyRDtBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQU81RSxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQ1UsWUFBeUIsRUFDekIsS0FBcUIsRUFDUyxpQkFBeUI7UUFGdkQsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDUyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7SUFDOUQsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxPQUFPO1lBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQztJQUN6RSxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsQ0FBQzs7b0lBdEJVLG1CQUFtQiwyRUFPcEIsb0JBQW9CO3dIQVBuQixtQkFBbUIsdURDWGhDLDZTQVlBOzRGRERhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7OzBCQVd4QixNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuLy8gaW1wb3J0IHsgU21hcnRBdXRoU2VydmljZSB9IGZyb20gJy4vc21hcnQtYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTXNhbFNlcnZpY2UgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTTUFSVF9XRUJfUE9SVEFMX1VSTCB9IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zbWFydC1lcnJvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWVycm9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1lcnJvci5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEVycm9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aG5TZXJ2aWNlOiBNc2FsU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgQEluamVjdChTTUFSVF9XRUJfUE9SVEFMX1VSTCkgcHJpdmF0ZSBzbWFydFdlYlBvcnRhbFVybDogc3RyaW5nLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnR5cGUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd0eXBlJykgfHwgJ3N0YWZmJztcclxuICAgIHRoaXMubWVzc2FnZSA9XHJcbiAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ21lc3NhZ2UnKSB8fCAnRXJyb3Igb2NjdXJlZC4nO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgdGhpcy5hdXRoblNlcnZpY2UubG9nb3V0KCk7XHJcbiAgfVxyXG5cclxuICBwb3J0YWwoKSB7XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuc21hcnRXZWJQb3J0YWxVcmw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXY+XHJcbiAgPGgyPlxyXG4gICAge3sgbWVzc2FnZSB9fVxyXG4gIDwvaDI+XHJcbiAgPHA+XHJcbiAgICBQbGVhc2UgY29udGFjdCBoZWxwIGRlc2sgaWYgbmVlZGVkLlxyXG4gIDwvcD5cclxuICA8ZGl2PlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibG9nb3V0KClcIiAqbmdJZj1cInR5cGUgPT09ICdzdGFmZidcIj5PSzwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwicG9ydGFsKClcIiAqbmdJZj1cInR5cGUgPT09ICdvZmZlbmRlcidcIj5PSzwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
1
+ import { Component, Inject } from '@angular/core';
2
+ // import { SmartAuthService } from './smart-auth.service';
3
+ import { MsalService } from '@azure/msal-angular';
4
+ import { ActivatedRoute } from '@angular/router';
5
+ import { SMART_WEB_PORTAL_URL } from '../smart-storage/smart-storage-model';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@azure/msal-angular";
8
+ import * as i2 from "@angular/router";
9
+ import * as i3 from "@angular/common";
10
+ export class SmartErrorComponent {
11
+ constructor(authnService, route, smartWebPortalUrl) {
12
+ this.authnService = authnService;
13
+ this.route = route;
14
+ this.smartWebPortalUrl = smartWebPortalUrl;
15
+ }
16
+ ngOnInit() {
17
+ this.type = this.route.snapshot.queryParamMap.get('type') || 'staff';
18
+ this.message =
19
+ this.route.snapshot.queryParamMap.get('message') || 'Error occured.';
20
+ }
21
+ logout() {
22
+ this.authnService.logout();
23
+ }
24
+ portal() {
25
+ window.location.href = this.smartWebPortalUrl;
26
+ }
27
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartErrorComponent, deps: [{ token: i1.MsalService }, { token: i2.ActivatedRoute }, { token: SMART_WEB_PORTAL_URL }], target: i0.ɵɵFactoryTarget.Component }); }
28
+ /** @nocollapse */ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SmartErrorComponent, selector: "app-smart-error", ngImport: i0, template: "<div>\r\n <h2>\r\n {{ message }}\r\n </h2>\r\n <p>\r\n Please contact help desk if needed.\r\n </p>\r\n <div>\r\n <button (click)=\"logout()\" *ngIf=\"type === 'staff'\">OK</button>\r\n <button (click)=\"portal()\" *ngIf=\"type === 'offender'\">OK</button>\r\n </div>\r\n</div>\r\n", styles: ["div{text-align:center}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartErrorComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'app-smart-error', template: "<div>\r\n <h2>\r\n {{ message }}\r\n </h2>\r\n <p>\r\n Please contact help desk if needed.\r\n </p>\r\n <div>\r\n <button (click)=\"logout()\" *ngIf=\"type === 'staff'\">OK</button>\r\n <button (click)=\"portal()\" *ngIf=\"type === 'offender'\">OK</button>\r\n </div>\r\n</div>\r\n", styles: ["div{text-align:center}\n"] }]
33
+ }], ctorParameters: function () { return [{ type: i1.MsalService }, { type: i2.ActivatedRoute }, { type: undefined, decorators: [{
34
+ type: Inject,
35
+ args: [SMART_WEB_PORTAL_URL]
36
+ }] }]; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3NtYXJ0L25nYy1zbWFydC1jb3JlL3NyYy9saWIvc21hcnQtYXV0aC9zbWFydC1lcnJvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jc21hcnQvbmdjLXNtYXJ0LWNvcmUvc3JjL2xpYi9zbWFydC1hdXRoL3NtYXJ0LWVycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELDJEQUEyRDtBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQU81RSxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQ1UsWUFBeUIsRUFDekIsS0FBcUIsRUFDUyxpQkFBeUI7UUFGdkQsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDUyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7SUFDOUQsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxPQUFPO1lBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQztJQUN6RSxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsQ0FBQztrSUF0QlUsbUJBQW1CLDJFQU9wQixvQkFBb0I7c0hBUG5CLG1CQUFtQix1RENYaEMsNlNBWUE7OzRGRERhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7OzBCQVd4QixNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuLy8gaW1wb3J0IHsgU21hcnRBdXRoU2VydmljZSB9IGZyb20gJy4vc21hcnQtYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTXNhbFNlcnZpY2UgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTTUFSVF9XRUJfUE9SVEFMX1VSTCB9IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zbWFydC1lcnJvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWVycm9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1lcnJvci5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEVycm9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aG5TZXJ2aWNlOiBNc2FsU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgQEluamVjdChTTUFSVF9XRUJfUE9SVEFMX1VSTCkgcHJpdmF0ZSBzbWFydFdlYlBvcnRhbFVybDogc3RyaW5nLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnR5cGUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd0eXBlJykgfHwgJ3N0YWZmJztcclxuICAgIHRoaXMubWVzc2FnZSA9XHJcbiAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ21lc3NhZ2UnKSB8fCAnRXJyb3Igb2NjdXJlZC4nO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgdGhpcy5hdXRoblNlcnZpY2UubG9nb3V0KCk7XHJcbiAgfVxyXG5cclxuICBwb3J0YWwoKSB7XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuc21hcnRXZWJQb3J0YWxVcmw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXY+XHJcbiAgPGgyPlxyXG4gICAge3sgbWVzc2FnZSB9fVxyXG4gIDwvaDI+XHJcbiAgPHA+XHJcbiAgICBQbGVhc2UgY29udGFjdCBoZWxwIGRlc2sgaWYgbmVlZGVkLlxyXG4gIDwvcD5cclxuICA8ZGl2PlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibG9nb3V0KClcIiAqbmdJZj1cInR5cGUgPT09ICdzdGFmZidcIj5PSzwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwicG9ydGFsKClcIiAqbmdJZj1cInR5cGUgPT09ICdvZmZlbmRlcidcIj5PSzwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,59 @@
1
+ import { Injectable, isDevMode } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { EMPTY, of, throwError } from 'rxjs';
4
+ import { mergeMap, catchError, take } from 'rxjs/operators';
5
+ import { SmartAuthService } from './smart-auth.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./smart-auth.service";
8
+ import * as i2 from "@angular/router";
9
+ export class LoginStaffResolverService {
10
+ constructor(authnService,
11
+ // private zone: NgZone,
12
+ router) {
13
+ this.authnService = authnService;
14
+ this.router = router;
15
+ }
16
+ resolve(route, state) {
17
+ return this.authnService.getLoginStaff().pipe(take(1), mergeMap((loginStaff) => {
18
+ if (isDevMode) {
19
+ console.log('LoginStaffResolverService: ', loginStaff);
20
+ }
21
+ if (loginStaff) {
22
+ return of(loginStaff);
23
+ }
24
+ else {
25
+ return throwError('Not authorized to access SMART.');
26
+ // return EMPTY;
27
+ /*
28
+ this.zone.run(() => {
29
+ this.router.navigate(['/smart-error'], {
30
+ queryParams: {
31
+ type: 'staff',
32
+ message: 'Not authorized to access SMART.'
33
+ }
34
+ });
35
+ });
36
+ return EMPTY;
37
+ */
38
+ }
39
+ }), catchError((error) => {
40
+ console.log('LoginStaffResolverService: ' + error);
41
+ this.router.navigate(['/smart-error'], {
42
+ queryParams: {
43
+ type: 'staff',
44
+ message: 'SMART Authentication: ' + error,
45
+ },
46
+ });
47
+ return EMPTY;
48
+ }));
49
+ }
50
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoginStaffResolverService, deps: [{ token: i1.SmartAuthService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoginStaffResolverService, providedIn: 'root' }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoginStaffResolverService, decorators: [{
54
+ type: Injectable,
55
+ args: [{
56
+ providedIn: 'root',
57
+ }]
58
+ }], ctorParameters: function () { return [{ type: i1.SmartAuthService }, { type: i2.Router }]; } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbG9naW4tc3RhZmYtcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvbGliL3NtYXJ0LWF1dGgvc21hcnQtbG9naW4tc3RhZmYtcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQStDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RGLE9BQU8sRUFBYyxLQUFLLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU14RCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQ1UsWUFBOEI7SUFDdEMsd0JBQXdCO0lBQ2hCLE1BQWM7UUFGZCxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFFOUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosT0FBTyxDQUNMLEtBQTZCLEVBQzdCLEtBQTBCO1FBRTFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQzNDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN0QixJQUFJLFNBQVMsRUFBRTtnQkFDYixPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQ3hEO1lBQ0QsSUFBSSxVQUFVLEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDdkI7aUJBQU07Z0JBQ0wsT0FBTyxVQUFVLENBQUMsaUNBQWlDLENBQUMsQ0FBQztnQkFDckQsZ0JBQWdCO2dCQUNoQjs7Ozs7Ozs7OztrQkFVRTthQUNIO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNyQyxXQUFXLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLE9BQU87b0JBQ2IsT0FBTyxFQUFFLHdCQUF3QixHQUFHLEtBQUs7aUJBQzFDO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztrSUE5Q1UseUJBQXlCO3NJQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs7NEZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIEVNUFRZLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtZXJnZU1hcCwgY2F0Y2hFcnJvciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU21hcnRBdXRoU2VydmljZSB9IGZyb20gJy4vc21hcnQtYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9naW5TdGFmZiB9IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5TdGFmZlJlc29sdmVyU2VydmljZSAge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhdXRoblNlcnZpY2U6IFNtYXJ0QXV0aFNlcnZpY2UsXHJcbiAgICAvLyBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgKSB7fVxyXG5cclxuICByZXNvbHZlKFxyXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcclxuICApOiBPYnNlcnZhYmxlPExvZ2luU3RhZmY+IHwgT2JzZXJ2YWJsZTxuZXZlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXV0aG5TZXJ2aWNlLmdldExvZ2luU3RhZmYoKS5waXBlKFxyXG4gICAgICB0YWtlKDEpLFxyXG4gICAgICBtZXJnZU1hcCgobG9naW5TdGFmZikgPT4ge1xyXG4gICAgICAgIGlmIChpc0Rldk1vZGUpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdMb2dpblN0YWZmUmVzb2x2ZXJTZXJ2aWNlOiAnLCBsb2dpblN0YWZmKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxvZ2luU3RhZmYpIHtcclxuICAgICAgICAgIHJldHVybiBvZihsb2dpblN0YWZmKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoJ05vdCBhdXRob3JpemVkIHRvIGFjY2VzcyBTTUFSVC4nKTtcclxuICAgICAgICAgIC8vIHJldHVybiBFTVBUWTtcclxuICAgICAgICAgIC8qXHJcbiAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvc21hcnQtZXJyb3InXSwge1xyXG4gICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RhZmYnLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ05vdCBhdXRob3JpemVkIHRvIGFjY2VzcyBTTUFSVC4nXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgICAgKi9cclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdMb2dpblN0YWZmUmVzb2x2ZXJTZXJ2aWNlOiAnICsgZXJyb3IpO1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3NtYXJ0LWVycm9yJ10sIHtcclxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgICAgIHR5cGU6ICdzdGFmZicsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdTTUFSVCBBdXRoZW50aWNhdGlvbjogJyArIGVycm9yLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,60 @@
1
+ import { Injectable, NgZone, isDevMode } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { from, of, EMPTY, throwError, concat } from 'rxjs';
4
+ import { catchError, mergeMap, take, retryWhen, delay, } from 'rxjs/operators';
5
+ import { XdmService } from '../smart-storage/xdm.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../smart-storage/xdm.service";
8
+ import * as i2 from "@angular/router";
9
+ export class SelectedOffenderResolverService {
10
+ constructor(service, zone, router) {
11
+ this.service = service;
12
+ this.zone = zone;
13
+ this.router = router;
14
+ }
15
+ resolve(route, state) {
16
+ let offenderId = null;
17
+ let intakeFlag = false;
18
+ if (route) {
19
+ if (route.queryParams["offenderId"])
20
+ offenderId = parseInt(route.queryParams["offenderId"]);
21
+ if (route.queryParams["intakeFlag"])
22
+ intakeFlag = route.queryParams["intakeFlag"] == "true";
23
+ }
24
+ return from(this.service.getSelectedOffender()).pipe(mergeMap((selectedOffender) => {
25
+ if (isDevMode) {
26
+ console.log(selectedOffender);
27
+ }
28
+ if (offenderId && offenderId > 0 && (!selectedOffender || (selectedOffender && selectedOffender.offenderId !== offenderId))) {
29
+ return this.service.setSelectedOffenderFromRoute(offenderId, intakeFlag);
30
+ }
31
+ if (selectedOffender) {
32
+ return of(selectedOffender);
33
+ }
34
+ return throwError(() => new Error('No offender selected.'));
35
+ }), retryWhen((errors) => errors.pipe(
36
+ // tap(() => console.log('Retry getting selected offender.')),
37
+ delay(1000), take(5), (o) => concat(o, throwError(() => new Error('No offender selected (failed after retries).'))))), catchError((error) => {
38
+ /*
39
+ this.zone.run(() => {
40
+ this.router.navigate(['/smart-error'], {
41
+ queryParams: { type: 'offender', message: error }
42
+ });
43
+ });
44
+ */
45
+ this.router.navigate(['/smart-error'], {
46
+ queryParams: { type: 'offender', message: error },
47
+ });
48
+ return EMPTY;
49
+ }));
50
+ }
51
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectedOffenderResolverService, deps: [{ token: i1.XdmService }, { token: i0.NgZone }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
52
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectedOffenderResolverService, providedIn: 'root' }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectedOffenderResolverService, decorators: [{
55
+ type: Injectable,
56
+ args: [{
57
+ providedIn: 'root',
58
+ }]
59
+ }], ctorParameters: function () { return [{ type: i1.XdmService }, { type: i0.NgZone }, { type: i2.Router }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXItcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvbGliL3NtYXJ0LWF1dGgvc21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXItcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUErQyxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RixPQUFPLEVBQWMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNULEtBQUssR0FDTixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUsxRCxNQUFNLE9BQU8sK0JBQStCO0lBRTFDLFlBQ1UsT0FBbUIsRUFDbkIsSUFBWSxFQUNaLE1BQWM7UUFGZCxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3JCLENBQUM7SUFDSixPQUFPLENBQ0wsS0FBNkIsRUFDN0IsS0FBMEI7UUFFMUIsSUFBSSxVQUFVLEdBQWtCLElBQUksQ0FBQztRQUNyQyxJQUFJLFVBQVUsR0FBWSxLQUFLLENBQUM7UUFDaEMsSUFBRyxLQUFLLEVBQUU7WUFDUixJQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUNoQyxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN6RCxJQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUNoQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxNQUFNLENBQUM7U0FDMUQ7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2xELFFBQVEsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDNUIsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQy9CO1lBQ0QsSUFBRyxVQUFVLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsRUFBRTtnQkFDMUgsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQzthQUMxRTtZQUNELElBQUcsZ0JBQWdCLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDN0I7WUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDbkIsTUFBTSxDQUFDLElBQUk7UUFDVCw4REFBOEQ7UUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUNYLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osTUFBTSxDQUNKLENBQUMsRUFDRCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQyxDQUM1RSxDQUNKLENBQ0YsRUFDRCxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQjs7Ozs7O2NBTUU7WUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNyQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7YUFDbEQsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztrSUExRFUsK0JBQStCO3NJQUEvQiwrQkFBK0IsY0FGOUIsTUFBTTs7NEZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIG9mLCBFTVBUWSwgdGhyb3dFcnJvciwgY29uY2F0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgY2F0Y2hFcnJvcixcclxuICBtZXJnZU1hcCxcclxuICB0YWtlLFxyXG4gIHJldHJ5V2hlbixcclxuICBkZWxheSxcclxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkT2ZmZW5kZXIgfSBmcm9tICcuLi9zbWFydC1zdG9yYWdlL3NtYXJ0LXN0b3JhZ2UtbW9kZWwnO1xyXG5pbXBvcnQgeyBYZG1TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtc3RvcmFnZS94ZG0uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0ZWRPZmZlbmRlclJlc29sdmVyU2VydmljZVxyXG4gICB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFhkbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgKSB7fVxyXG4gIHJlc29sdmUoXHJcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxyXG4gICk6IE9ic2VydmFibGU8U2VsZWN0ZWRPZmZlbmRlcj4gfCBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICBsZXQgb2ZmZW5kZXJJZDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgICBsZXQgaW50YWtlRmxhZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgaWYocm91dGUpIHtcclxuICAgICAgaWYocm91dGUucXVlcnlQYXJhbXNbXCJvZmZlbmRlcklkXCJdKVxyXG4gICAgICAgIG9mZmVuZGVySWQgPSBwYXJzZUludChyb3V0ZS5xdWVyeVBhcmFtc1tcIm9mZmVuZGVySWRcIl0pO1xyXG4gICAgICBpZihyb3V0ZS5xdWVyeVBhcmFtc1tcImludGFrZUZsYWdcIl0pXHJcbiAgICAgICAgaW50YWtlRmxhZyA9IHJvdXRlLnF1ZXJ5UGFyYW1zW1wiaW50YWtlRmxhZ1wiXSA9PSBcInRydWVcIjtcclxuICAgIH1cclxuICAgIHJldHVybiBmcm9tKHRoaXMuc2VydmljZS5nZXRTZWxlY3RlZE9mZmVuZGVyKCkpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKChzZWxlY3RlZE9mZmVuZGVyKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzRGV2TW9kZSkge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coc2VsZWN0ZWRPZmZlbmRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKG9mZmVuZGVySWQgJiYgb2ZmZW5kZXJJZCA+IDAgJiYgKCFzZWxlY3RlZE9mZmVuZGVyIHx8IChzZWxlY3RlZE9mZmVuZGVyICYmIHNlbGVjdGVkT2ZmZW5kZXIub2ZmZW5kZXJJZCAhPT0gb2ZmZW5kZXJJZCkpKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLnNldFNlbGVjdGVkT2ZmZW5kZXJGcm9tUm91dGUob2ZmZW5kZXJJZCwgaW50YWtlRmxhZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHNlbGVjdGVkT2ZmZW5kZXIpIHtcclxuICAgICAgICAgIHJldHVybiBvZihzZWxlY3RlZE9mZmVuZGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdObyBvZmZlbmRlciBzZWxlY3RlZC4nKSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICByZXRyeVdoZW4oKGVycm9ycykgPT5cclxuICAgICAgICBlcnJvcnMucGlwZShcclxuICAgICAgICAgIC8vIHRhcCgoKSA9PiBjb25zb2xlLmxvZygnUmV0cnkgZ2V0dGluZyBzZWxlY3RlZCBvZmZlbmRlci4nKSksXHJcbiAgICAgICAgICBkZWxheSgxMDAwKSxcclxuICAgICAgICAgIHRha2UoNSksXHJcbiAgICAgICAgICAobykgPT5cclxuICAgICAgICAgICAgY29uY2F0KFxyXG4gICAgICAgICAgICAgIG8sXHJcbiAgICAgICAgICAgICAgdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ05vIG9mZmVuZGVyIHNlbGVjdGVkIChmYWlsZWQgYWZ0ZXIgcmV0cmllcykuJykpLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICksXHJcbiAgICAgICksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgLypcclxuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3NtYXJ0LWVycm9yJ10sIHtcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgdHlwZTogJ29mZmVuZGVyJywgbWVzc2FnZTogZXJyb3IgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgKi9cclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zbWFydC1lcnJvciddLCB7XHJcbiAgICAgICAgICBxdWVyeVBhcmFtczogeyB0eXBlOiAnb2ZmZW5kZXInLCBtZXNzYWdlOiBlcnJvciB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbmF2YmFyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvbGliL3NtYXJ0LW5hdmJhci9zbWFydC1uYXZiYXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNtYXJ0TmF2YmFyQ29uZmlnIHtcclxuICBhcHBNb2R1bGVJZDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB1cmw6IHN0cmluZztcclxuICBvZmZlbmRlclNwZWNpZmljRmxhZzogYm9vbGVhbjtcclxuICBkaXNwbGF5T3JkZXI6IG51bWJlcjtcclxufVxyXG4iXX0=