@csmart/ngc-smart-core 1.13.14 → 1.13.15
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.
- package/README.md +24 -24
- package/csmart-ngc-smart-core.d.ts +5 -5
- package/esm2020/csmart-ngc-smart-core.mjs +4 -4
- package/esm2020/lib/ngc-smart-core.module.mjs +97 -97
- package/esm2020/lib/smart-auth/smart-access-control-config.mjs +12 -12
- package/esm2020/lib/smart-auth/smart-access-control.directive.mjs +40 -40
- package/esm2020/lib/smart-auth/smart-auth.service.mjs +505 -505
- package/esm2020/lib/smart-auth/smart-authorization-guard.service.mjs +35 -35
- package/esm2020/lib/smart-auth/smart-error.component.mjs +37 -37
- package/esm2020/lib/smart-auth/smart-login-staff-resolver.service.mjs +59 -59
- package/esm2020/lib/smart-auth/smart-selected-offender-resolver.service.mjs +49 -49
- package/esm2020/lib/smart-navbar/smart-navbar-config.mjs +2 -2
- package/esm2020/lib/smart-navbar/smart-navbar.component.mjs +167 -167
- package/esm2020/lib/smart-navbar/smart-navbar.service.mjs +63 -63
- package/esm2020/lib/smart-offender-header/smart-offender-header.component.mjs +151 -151
- package/esm2020/lib/smart-offender-header/smart-offender-header.service.mjs +41 -41
- package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.mjs +25 -25
- package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options.component.mjs +78 -78
- package/esm2020/lib/smart-staff-offender-options/smart-staff-offender-options.service.mjs +132 -132
- package/esm2020/lib/smart-storage/smart-storage-model.mjs +30 -30
- package/esm2020/lib/smart-storage/xdm.service.mjs +158 -158
- package/esm2020/public-api.mjs +20 -20
- package/fesm2015/csmart-ngc-smart-core.mjs +1518 -1518
- package/fesm2015/csmart-ngc-smart-core.mjs.map +1 -1
- package/fesm2020/csmart-ngc-smart-core.mjs +1504 -1504
- package/fesm2020/csmart-ngc-smart-core.mjs.map +1 -1
- package/lib/ngc-smart-core.module.d.ts +20 -20
- package/lib/smart-auth/smart-access-control-config.d.ts +17 -17
- package/lib/smart-auth/smart-access-control.directive.d.ts +14 -14
- package/lib/smart-auth/smart-auth.service.d.ts +41 -41
- package/lib/smart-auth/smart-authorization-guard.service.d.ts +13 -13
- package/lib/smart-auth/smart-error.component.d.ts +17 -17
- package/lib/smart-auth/smart-login-staff-resolver.service.d.ts +13 -13
- package/lib/smart-auth/smart-selected-offender-resolver.service.d.ts +15 -15
- package/lib/smart-navbar/smart-navbar-config.d.ts +7 -7
- package/lib/smart-navbar/smart-navbar.component.d.ts +40 -40
- package/lib/smart-navbar/smart-navbar.service.d.ts +12 -12
- package/lib/smart-offender-header/smart-offender-header.component.d.ts +32 -32
- package/lib/smart-offender-header/smart-offender-header.service.d.ts +18 -18
- package/lib/smart-staff-offender-options/smart-staff-offender-options-resolver.service.d.ts +11 -11
- package/lib/smart-staff-offender-options/smart-staff-offender-options.component.d.ts +22 -22
- package/lib/smart-staff-offender-options/smart-staff-offender-options.service.d.ts +19 -19
- package/lib/smart-storage/smart-storage-model.d.ts +58 -58
- package/lib/smart-storage/xdm.service.d.ts +42 -42
- package/package.json +1 -1
- package/public-api.d.ts +16 -16
|
@@ -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 */ /** @nocollapse */ SmartAuthorizationGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartAuthorizationGuard, deps: [{ token: i1.SmartAuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
-
/** @nocollapse */ /** @nocollapse */ SmartAuthorizationGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartAuthorizationGuard });
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartAuthorizationGuard, decorators: [{
|
|
33
|
-
type: Injectable
|
|
34
|
-
}], ctorParameters: function () { return [{ type: i1.SmartAuthService }]; } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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 */ /** @nocollapse */ SmartAuthorizationGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartAuthorizationGuard, deps: [{ token: i1.SmartAuthService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
+
/** @nocollapse */ /** @nocollapse */ SmartAuthorizationGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartAuthorizationGuard });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartAuthorizationGuard, decorators: [{
|
|
33
|
+
type: Injectable
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i1.SmartAuthService }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYXV0aG9yaXphdGlvbi1ndWFyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3NtYXJ0L25nYy1zbWFydC1jb3JlL3NyYy9saWIvc21hcnQtYXV0aC9zbWFydC1hdXRob3JpemF0aW9uLWd1YXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPM0MsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEVBQUUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR3hELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBbUIsWUFBOEI7UUFBOUIsaUJBQVksR0FBWixZQUFZLENBQWtCO0lBQUksQ0FBQztJQUV0RCxXQUFXLENBQUMsS0FBNkI7UUFDdkMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDM0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFFBQVEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO2dCQUMvQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQjtZQUNELGlFQUFpRTtZQUNqRSxxQkFBcUI7WUFDckIsSUFBSTtZQUNKLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSTtnQkFDckMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUM1RCxVQUFVLEVBQ1YsUUFBUSxDQUNULENBQUM7WUFDRixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7MEpBNUJVLHVCQUF1Qjs4SkFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzbWFydC1hdXRob3JpemF0aW9uLnNlcnZpY2VcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENhbkFjdGl2YXRlLFxyXG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyB0YWtlLCBtZXJnZU1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTG9naW5TdGFmZiB9IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcbmltcG9ydCB7IFNtYXJ0QXV0aFNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LWF1dGguc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbWFydEF1dGhvcml6YXRpb25HdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcclxuICBsb2dpblN0YWZmOiBMb2dpblN0YWZmO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aG5TZXJ2aWNlOiBTbWFydEF1dGhTZXJ2aWNlKSB7IH1cclxuXHJcbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcclxuICAgIHJldHVybiB0aGlzLmF1dGhuU2VydmljZS5nZXRMb2dpblN0YWZmKCkucGlwZShcclxuICAgICAgdGFrZSgxKSxcclxuICAgICAgbWVyZ2VNYXAoKGxvZ2luU3RhZmYpID0+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 */ /** @nocollapse */ SmartErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartErrorComponent, deps: [{ token: i1.MsalService }, { token: i2.ActivatedRoute }, { token: SMART_WEB_PORTAL_URL }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
/** @nocollapse */ /** @nocollapse */ SmartErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: SmartErrorComponent, selector: "app-smart-error", ngImport: i0, template: "<div>\n <h2>\n {{ message }}\n </h2>\n <p>\n Please contact help desk if needed.\n </p>\n <div>\n <button (click)=\"logout()\" *ngIf=\"type === 'staff'\">OK</button>\n <button (click)=\"portal()\" *ngIf=\"type === 'offender'\">OK</button>\n </div>\n</div>\n", styles: ["div{text-align:center}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartErrorComponent, decorators: [{
|
|
31
|
-
type: Component,
|
|
32
|
-
args: [{ selector: 'app-smart-error', template: "<div>\n <h2>\n {{ message }}\n </h2>\n <p>\n Please contact help desk if needed.\n </p>\n <div>\n <button (click)=\"logout()\" *ngIf=\"type === 'staff'\">OK</button>\n <button (click)=\"portal()\" *ngIf=\"type === 'offender'\">OK</button>\n </div>\n</div>\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,
|
|
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 */ /** @nocollapse */ SmartErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SmartErrorComponent, deps: [{ token: i1.MsalService }, { token: i2.ActivatedRoute }, { token: SMART_WEB_PORTAL_URL }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
/** @nocollapse */ /** @nocollapse */ SmartErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", 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"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3NtYXJ0L25nYy1zbWFydC1jb3JlL3NyYy9saWIvc21hcnQtYXV0aC9zbWFydC1lcnJvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jc21hcnQvbmdjLXNtYXJ0LWNvcmUvc3JjL2xpYi9zbWFydC1hdXRoL3NtYXJ0LWVycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELDJEQUEyRDtBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQU81RSxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQ1UsWUFBeUIsRUFDekIsS0FBcUIsRUFDUyxpQkFBeUI7UUFGdkQsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDUyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7SUFDOUQsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxPQUFPO1lBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQztJQUN6RSxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsQ0FBQzs7c0pBdEJVLG1CQUFtQiwyRUFPcEIsb0JBQW9COzBJQVBuQixtQkFBbUIsdURDWGhDLDZTQVlBOzJGRERhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7OzBCQVd4QixNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuLy8gaW1wb3J0IHsgU21hcnRBdXRoU2VydmljZSB9IGZyb20gJy4vc21hcnQtYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTXNhbFNlcnZpY2UgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTTUFSVF9XRUJfUE9SVEFMX1VSTCB9IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zbWFydC1lcnJvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWVycm9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1lcnJvci5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEVycm9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aG5TZXJ2aWNlOiBNc2FsU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgQEluamVjdChTTUFSVF9XRUJfUE9SVEFMX1VSTCkgcHJpdmF0ZSBzbWFydFdlYlBvcnRhbFVybDogc3RyaW5nLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnR5cGUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd0eXBlJykgfHwgJ3N0YWZmJztcclxuICAgIHRoaXMubWVzc2FnZSA9XHJcbiAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ21lc3NhZ2UnKSB8fCAnRXJyb3Igb2NjdXJlZC4nO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgdGhpcy5hdXRoblNlcnZpY2UubG9nb3V0KCk7XHJcbiAgfVxyXG5cclxuICBwb3J0YWwoKSB7XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuc21hcnRXZWJQb3J0YWxVcmw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXY+XHJcbiAgPGgyPlxyXG4gICAge3sgbWVzc2FnZSB9fVxyXG4gIDwvaDI+XHJcbiAgPHA+XHJcbiAgICBQbGVhc2UgY29udGFjdCBoZWxwIGRlc2sgaWYgbmVlZGVkLlxyXG4gIDwvcD5cclxuICA8ZGl2PlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibG9nb3V0KClcIiAqbmdJZj1cInR5cGUgPT09ICdzdGFmZidcIj5PSzwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwicG9ydGFsKClcIiAqbmdJZj1cInR5cGUgPT09ICdvZmZlbmRlcidcIj5PSzwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,59 +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
|
-
}
|
|
51
|
-
/** @nocollapse */ /** @nocollapse */ LoginStaffResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoginStaffResolverService, deps: [{ token: i1.SmartAuthService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
-
/** @nocollapse */ /** @nocollapse */ LoginStaffResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoginStaffResolverService, providedIn: 'root' });
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", 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,
|
|
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
|
+
}
|
|
51
|
+
/** @nocollapse */ /** @nocollapse */ LoginStaffResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoginStaffResolverService, deps: [{ token: i1.SmartAuthService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
/** @nocollapse */ /** @nocollapse */ LoginStaffResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoginStaffResolverService, providedIn: 'root' });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbG9naW4tc3RhZmYtcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvbGliL3NtYXJ0LWF1dGgvc21hcnQtbG9naW4tc3RhZmYtcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBSUwsTUFBTSxHQUNQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFjLEtBQUssRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBTXhELE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsWUFDVSxZQUE4QjtJQUN0Qyx3QkFBd0I7SUFDaEIsTUFBYztRQUZkLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUU5QixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ3JCLENBQUM7SUFFSixPQUFPLENBQ0wsS0FBNkIsRUFDN0IsS0FBMEI7UUFFMUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FDM0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFFBQVEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RCLElBQUksU0FBUyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDeEQ7WUFDRCxJQUFJLFVBQVUsRUFBRTtnQkFDZCxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxPQUFPLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO2dCQUNyRCxnQkFBZ0I7Z0JBQ2hCOzs7Ozs7Ozs7O2tCQVVFO2FBQ0g7UUFDSCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ3JDLFdBQVcsRUFBRTtvQkFDWCxJQUFJLEVBQUUsT0FBTztvQkFDYixPQUFPLEVBQUUsd0JBQXdCLEdBQUcsS0FBSztpQkFDMUM7YUFDRixDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzs0SkE5Q1UseUJBQXlCO2dLQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBSZXNvbHZlLFxyXG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcclxuICBSb3V0ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgRU1QVFksIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1lcmdlTWFwLCBjYXRjaEVycm9yLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTbWFydEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dpblN0YWZmIH0gZnJvbSAnLi4vc21hcnQtc3RvcmFnZS9zbWFydC1zdG9yYWdlLW1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpblN0YWZmUmVzb2x2ZXJTZXJ2aWNlIGltcGxlbWVudHMgUmVzb2x2ZTxMb2dpblN0YWZmPiB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhuU2VydmljZTogU21hcnRBdXRoU2VydmljZSxcclxuICAgIC8vIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICApIHt9XHJcblxyXG4gIHJlc29sdmUoXHJcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxyXG4gICk6IE9ic2VydmFibGU8TG9naW5TdGFmZj4gfCBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hdXRoblNlcnZpY2UuZ2V0TG9naW5TdGFmZigpLnBpcGUoXHJcbiAgICAgIHRha2UoMSksXHJcbiAgICAgIG1lcmdlTWFwKChsb2dpblN0YWZmKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzRGV2TW9kZSkge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0xvZ2luU3RhZmZSZXNvbHZlclNlcnZpY2U6ICcsIGxvZ2luU3RhZmYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobG9naW5TdGFmZikge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGxvZ2luU3RhZmYpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcignTm90IGF1dGhvcml6ZWQgdG8gYWNjZXNzIFNNQVJULicpO1xyXG4gICAgICAgICAgLy8gcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgICAgLypcclxuICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zbWFydC1lcnJvciddLCB7XHJcbiAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdzdGFmZicsXHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAnTm90IGF1dGhvcml6ZWQgdG8gYWNjZXNzIFNNQVJULidcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgICAqL1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0xvZ2luU3RhZmZSZXNvbHZlclNlcnZpY2U6ICcgKyBlcnJvcik7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvc21hcnQtZXJyb3InXSwge1xyXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICAgICAgdHlwZTogJ3N0YWZmJyxcclxuICAgICAgICAgICAgbWVzc2FnZTogJ1NNQVJUIEF1dGhlbnRpY2F0aW9uOiAnICsgZXJyb3IsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,49 +1,49 @@
|
|
|
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
|
-
return from(this.service.getSelectedOffender()).pipe(mergeMap((selectedOffender) => {
|
|
17
|
-
if (isDevMode) {
|
|
18
|
-
console.log(selectedOffender);
|
|
19
|
-
}
|
|
20
|
-
if (!selectedOffender) {
|
|
21
|
-
return throwError('No offender selected.');
|
|
22
|
-
}
|
|
23
|
-
return of(selectedOffender);
|
|
24
|
-
}), retryWhen((errors) => errors.pipe(
|
|
25
|
-
// tap(() => console.log('Retry getting selected offender.')),
|
|
26
|
-
delay(1000), take(5), (o) => concat(o, throwError('No offender selected (failed after retries).')))), catchError((error) => {
|
|
27
|
-
/*
|
|
28
|
-
this.zone.run(() => {
|
|
29
|
-
this.router.navigate(['/smart-error'], {
|
|
30
|
-
queryParams: { type: 'offender', message: error }
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
*/
|
|
34
|
-
this.router.navigate(['/smart-error'], {
|
|
35
|
-
queryParams: { type: 'offender', message: error },
|
|
36
|
-
});
|
|
37
|
-
return EMPTY;
|
|
38
|
-
}));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/** @nocollapse */ /** @nocollapse */ SelectedOffenderResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SelectedOffenderResolverService, deps: [{ token: i1.XdmService }, { token: i0.NgZone }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
-
/** @nocollapse */ /** @nocollapse */ SelectedOffenderResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SelectedOffenderResolverService, providedIn: 'root' });
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SelectedOffenderResolverService, decorators: [{
|
|
44
|
-
type: Injectable,
|
|
45
|
-
args: [{
|
|
46
|
-
providedIn: 'root',
|
|
47
|
-
}]
|
|
48
|
-
}], ctorParameters: function () { return [{ type: i1.XdmService }, { type: i0.NgZone }, { type: i2.Router }]; } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
+
return from(this.service.getSelectedOffender()).pipe(mergeMap((selectedOffender) => {
|
|
17
|
+
if (isDevMode) {
|
|
18
|
+
console.log(selectedOffender);
|
|
19
|
+
}
|
|
20
|
+
if (!selectedOffender) {
|
|
21
|
+
return throwError('No offender selected.');
|
|
22
|
+
}
|
|
23
|
+
return of(selectedOffender);
|
|
24
|
+
}), retryWhen((errors) => errors.pipe(
|
|
25
|
+
// tap(() => console.log('Retry getting selected offender.')),
|
|
26
|
+
delay(1000), take(5), (o) => concat(o, throwError('No offender selected (failed after retries).')))), catchError((error) => {
|
|
27
|
+
/*
|
|
28
|
+
this.zone.run(() => {
|
|
29
|
+
this.router.navigate(['/smart-error'], {
|
|
30
|
+
queryParams: { type: 'offender', message: error }
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
*/
|
|
34
|
+
this.router.navigate(['/smart-error'], {
|
|
35
|
+
queryParams: { type: 'offender', message: error },
|
|
36
|
+
});
|
|
37
|
+
return EMPTY;
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** @nocollapse */ /** @nocollapse */ SelectedOffenderResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SelectedOffenderResolverService, deps: [{ token: i1.XdmService }, { token: i0.NgZone }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
+
/** @nocollapse */ /** @nocollapse */ SelectedOffenderResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SelectedOffenderResolverService, providedIn: 'root' });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: SelectedOffenderResolverService, decorators: [{
|
|
44
|
+
type: Injectable,
|
|
45
|
+
args: [{
|
|
46
|
+
providedIn: 'root',
|
|
47
|
+
}]
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i1.XdmService }, { type: i0.NgZone }, { type: i2.Router }]; } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXItcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvbGliL3NtYXJ0LWF1dGgvc21hcnQtc2VsZWN0ZWQtb2ZmZW5kZXItcmVzb2x2ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUlMLE1BQU0sR0FDUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBYyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUVSLElBQUksRUFDSixTQUFTLEVBRVQsS0FBSyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBSzFELE1BQU0sT0FBTywrQkFBK0I7SUFFMUMsWUFDVSxPQUFtQixFQUNuQixJQUFZLEVBQ1osTUFBYztRQUZkLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDckIsQ0FBQztJQUVKLE9BQU8sQ0FDTCxLQUE2QixFQUM3QixLQUEwQjtRQUUxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2xELFFBQVEsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDNUIsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQy9CO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUNyQixPQUFPLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQzVDO1lBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNuQixNQUFNLENBQUMsSUFBSTtRQUNULDhEQUE4RDtRQUM5RCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQ1gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixNQUFNLENBQ0osQ0FBQyxFQUNELFVBQVUsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUMzRCxDQUNKLENBQ0YsRUFDRCxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQjs7Ozs7O2NBTUU7WUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNyQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7YUFDbEQsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7a0tBaERVLCtCQUErQjtzS0FBL0IsK0JBQStCLGNBRjlCLE1BQU07MkZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgUmVzb2x2ZSxcclxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXHJcbiAgUm91dGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIG9mLCBFTVBUWSwgdGhyb3dFcnJvciwgY29uY2F0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgY2F0Y2hFcnJvcixcclxuICBtZXJnZU1hcCxcclxuICBtYXAsXHJcbiAgdGFrZSxcclxuICByZXRyeVdoZW4sXHJcbiAgdGFwLFxyXG4gIGRlbGF5LFxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRPZmZlbmRlciB9IGZyb20gJy4uL3NtYXJ0LXN0b3JhZ2Uvc21hcnQtc3RvcmFnZS1tb2RlbCc7XHJcbmltcG9ydCB7IFhkbVNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC1zdG9yYWdlL3hkbS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RlZE9mZmVuZGVyUmVzb2x2ZXJTZXJ2aWNlXHJcbiAgaW1wbGVtZW50cyBSZXNvbHZlPFNlbGVjdGVkT2ZmZW5kZXI+IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VydmljZTogWGRtU2VydmljZSxcclxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICApIHt9XHJcblxyXG4gIHJlc29sdmUoXHJcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxyXG4gICk6IE9ic2VydmFibGU8U2VsZWN0ZWRPZmZlbmRlcj4gfCBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLnNlcnZpY2UuZ2V0U2VsZWN0ZWRPZmZlbmRlcigpKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcCgoc2VsZWN0ZWRPZmZlbmRlcikgPT4ge1xyXG4gICAgICAgIGlmIChpc0Rldk1vZGUpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHNlbGVjdGVkT2ZmZW5kZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXNlbGVjdGVkT2ZmZW5kZXIpIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCdObyBvZmZlbmRlciBzZWxlY3RlZC4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG9mKHNlbGVjdGVkT2ZmZW5kZXIpO1xyXG4gICAgICB9KSxcclxuICAgICAgcmV0cnlXaGVuKChlcnJvcnMpID0+XHJcbiAgICAgICAgZXJyb3JzLnBpcGUoXHJcbiAgICAgICAgICAvLyB0YXAoKCkgPT4gY29uc29sZS5sb2coJ1JldHJ5IGdldHRpbmcgc2VsZWN0ZWQgb2ZmZW5kZXIuJykpLFxyXG4gICAgICAgICAgZGVsYXkoMTAwMCksXHJcbiAgICAgICAgICB0YWtlKDUpLFxyXG4gICAgICAgICAgKG8pID0+XHJcbiAgICAgICAgICAgIGNvbmNhdChcclxuICAgICAgICAgICAgICBvLFxyXG4gICAgICAgICAgICAgIHRocm93RXJyb3IoJ05vIG9mZmVuZGVyIHNlbGVjdGVkIChmYWlsZWQgYWZ0ZXIgcmV0cmllcykuJyksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICAvKlxyXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvc21hcnQtZXJyb3InXSwge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogeyB0eXBlOiAnb2ZmZW5kZXInLCBtZXNzYWdlOiBlcnJvciB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAqL1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3NtYXJ0LWVycm9yJ10sIHtcclxuICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IHR5cGU6ICdvZmZlbmRlcicsIG1lc3NhZ2U6IGVycm9yIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbmF2YmFyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NzbWFydC9uZ2Mtc21hcnQtY29yZS9zcmMvbGliL3NtYXJ0LW5hdmJhci9zbWFydC1uYXZiYXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNtYXJ0TmF2YmFyQ29uZmlnIHtcclxuICBhcHBNb2R1bGVJZDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB1cmw6IHN0cmluZztcclxuICBvZmZlbmRlclNwZWNpZmljRmxhZzogYm9vbGVhbjtcclxuICBkaXNwbGF5T3JkZXI6IG51bWJlcjtcclxufVxyXG4iXX0=
|