@yuuvis/client-core 2.0.0-beta.0 → 2.0.0-beta.10
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/fesm2022/yuuvis-client-core.mjs +773 -645
- package/fesm2022/yuuvis-client-core.mjs.map +1 -1
- package/index.d.ts +7 -4
- package/lib/model/object-flavor.interface.d.ts +4 -1
- package/lib/provide.client.core.d.ts +58 -0
- package/lib/service/backend/backend.service.d.ts +0 -1
- package/lib/service/config/config.service.d.ts +0 -8
- package/lib/service/core-init/core-init.service.d.ts +1 -7
- package/lib/service/core-init/translate-json-loader.d.ts +1 -1
- package/lib/service/dms/dms.service.d.ts +2 -1
- package/lib/service/object-config/object-config.interface.d.ts +1 -1
- package/lib/service/object-form/object-form-translate.service.d.ts +15 -0
- package/lib/service/{system → object-form}/object-form.interface.d.ts +2 -2
- package/lib/service/object-form/object-form.model.d.ts +45 -0
- package/lib/service/system/system.interface.d.ts +1 -1
- package/lib/service/system/system.service.d.ts +1 -1
- package/lib/service/toast/toast.interface.d.ts +8 -0
- package/lib/service/toast/toast.service.d.ts +17 -0
- package/lib/service/toast/toast.styles.d.ts +1 -0
- package/lib/service/upload/upload.interface.d.ts +1 -1
- package/lib/service/user/user.providers.d.ts +4 -0
- package/lib/service/user/user.service.d.ts +2 -4
- package/package.json +7 -11
- package/esm2022/index.mjs +0 -69
- package/esm2022/lib/client-core.module.mjs +0 -117
- package/esm2022/lib/client-core.shared.module.mjs +0 -18
- package/esm2022/lib/common/pipes/filesize.pipe.mjs +0 -37
- package/esm2022/lib/common/pipes/index.mjs +0 -6
- package/esm2022/lib/common/pipes/keys.pipe.mjs +0 -17
- package/esm2022/lib/common/pipes/locale-date.pipe.mjs +0 -45
- package/esm2022/lib/common/pipes/locale-number.pipe.mjs +0 -115
- package/esm2022/lib/common/pipes/safe-html.pipe.mjs +0 -44
- package/esm2022/lib/common/services/native-notifications.interface.mjs +0 -2
- package/esm2022/lib/common/services/native-notifications.mjs +0 -40
- package/esm2022/lib/model/dms-object.interface.mjs +0 -2
- package/esm2022/lib/model/dms-object.model.mjs +0 -79
- package/esm2022/lib/model/object-flavor.interface.mjs +0 -2
- package/esm2022/lib/model/range-value.interface.mjs +0 -2
- package/esm2022/lib/model/yuv-error.model.mjs +0 -37
- package/esm2022/lib/model/yuv-user.model.mjs +0 -38
- package/esm2022/lib/service/audit/audit.interface.mjs +0 -2
- package/esm2022/lib/service/audit/audit.service.mjs +0 -135
- package/esm2022/lib/service/auth/auth.interceptor.mjs +0 -50
- package/esm2022/lib/service/auth/auth.interface.mjs +0 -7
- package/esm2022/lib/service/auth/auth.service.mjs +0 -130
- package/esm2022/lib/service/auth/oidc.service.mjs +0 -81
- package/esm2022/lib/service/backend/api.enum.mjs +0 -11
- package/esm2022/lib/service/backend/backend.interface.mjs +0 -2
- package/esm2022/lib/service/backend/backend.service.mjs +0 -206
- package/esm2022/lib/service/bpm/bpm.interface.mjs +0 -8
- package/esm2022/lib/service/bpm/bpm.service.mjs +0 -51
- package/esm2022/lib/service/cache/app-cache.service.mjs +0 -51
- package/esm2022/lib/service/catalog/catalog.interface.mjs +0 -2
- package/esm2022/lib/service/catalog/catalog.service.mjs +0 -13
- package/esm2022/lib/service/clipboard/clipboard.interface.mjs +0 -2
- package/esm2022/lib/service/clipboard/clipboard.service.mjs +0 -99
- package/esm2022/lib/service/config/config.interface.mjs +0 -6
- package/esm2022/lib/service/config/config.service.mjs +0 -115
- package/esm2022/lib/service/config/core-config.mjs +0 -20
- package/esm2022/lib/service/config/core-config.tokens.mjs +0 -9
- package/esm2022/lib/service/connection/connection.service.mjs +0 -36
- package/esm2022/lib/service/connection/offline.interceptor.mjs +0 -28
- package/esm2022/lib/service/core-init/core-init.service.mjs +0 -29
- package/esm2022/lib/service/core-init/missing-translation-handler.mjs +0 -10
- package/esm2022/lib/service/core-init/translate-json-loader.mjs +0 -117
- package/esm2022/lib/service/device/device.interface.mjs +0 -6
- package/esm2022/lib/service/device/device.service.mjs +0 -144
- package/esm2022/lib/service/dms/dms.service.interface.mjs +0 -2
- package/esm2022/lib/service/dms/dms.service.mjs +0 -440
- package/esm2022/lib/service/event/event.interface.mjs +0 -2
- package/esm2022/lib/service/event/event.service.mjs +0 -38
- package/esm2022/lib/service/event/events.mjs +0 -14
- package/esm2022/lib/service/idm/idm.interface.mjs +0 -2
- package/esm2022/lib/service/idm/idm.service.mjs +0 -34
- package/esm2022/lib/service/logger/logger-console.service.mjs +0 -73
- package/esm2022/lib/service/logger/logger.interface.mjs +0 -2
- package/esm2022/lib/service/logger/logger.mjs +0 -27
- package/esm2022/lib/service/notification/notification.service.mjs +0 -131
- package/esm2022/lib/service/object-config/object-config.interface.mjs +0 -2
- package/esm2022/lib/service/object-config/object-config.service.mjs +0 -233
- package/esm2022/lib/service/pending-changes/pending-changes-component.interface.mjs +0 -5
- package/esm2022/lib/service/pending-changes/pending-changes-guard.service.mjs +0 -25
- package/esm2022/lib/service/pending-changes/pending-changes.service.mjs +0 -123
- package/esm2022/lib/service/prediction/prediction.interface.mjs +0 -2
- package/esm2022/lib/service/prediction/prediction.service.mjs +0 -60
- package/esm2022/lib/service/retention/retention.interface.mjs +0 -2
- package/esm2022/lib/service/retention/retention.service.mjs +0 -65
- package/esm2022/lib/service/search/search.service.interface.mjs +0 -39
- package/esm2022/lib/service/search/search.service.mjs +0 -261
- package/esm2022/lib/service/search/search.utils.mjs +0 -142
- package/esm2022/lib/service/session-storage/session-storage.service.mjs +0 -50
- package/esm2022/lib/service/system/object-form.interface.mjs +0 -2
- package/esm2022/lib/service/system/system.enum.mjs +0 -167
- package/esm2022/lib/service/system/system.interface.mjs +0 -2
- package/esm2022/lib/service/system/system.service.mjs +0 -597
- package/esm2022/lib/service/upload/upload.interface.mjs +0 -2
- package/esm2022/lib/service/upload/upload.service.mjs +0 -228
- package/esm2022/lib/service/user/user-storage.service.mjs +0 -38
- package/esm2022/lib/service/user/user.service.mjs +0 -211
- package/esm2022/lib/util/utils.helper.enum.mjs +0 -15
- package/esm2022/lib/util/utils.mjs +0 -373
- package/esm2022/yuuvis-client-core.mjs +0 -5
- package/lib/client-core.module.d.ts +0 -20
- package/lib/client-core.shared.module.d.ts +0 -10
- package/lib/service/auth/oidc.service.d.ts +0 -16
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { map } from 'rxjs/operators';
|
|
3
|
-
import { SearchService } from '../search/search.service';
|
|
4
|
-
import { Operator } from '../search/search.service.interface';
|
|
5
|
-
import { AuditField, SystemType } from '../system/system.enum';
|
|
6
|
-
import { UserService } from '../user/user.service';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
/**
|
|
9
|
-
* Service providing access to the systems audit entries. Audits can be seen as the history of
|
|
10
|
-
* an object. Actions perormed on an object (eg. read, write, delete, ...) will be recorded during
|
|
11
|
-
* the objects lifecycle. Audits are provided based on a users permissions. Beside the audit entries
|
|
12
|
-
* visible to regular users there are more technical ones that will only be shown to users that
|
|
13
|
-
* have administrative role.
|
|
14
|
-
*/
|
|
15
|
-
export class AuditService {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.#searchService = inject(SearchService);
|
|
18
|
-
this.#userService = inject(UserService);
|
|
19
|
-
// default number of items to be fetched
|
|
20
|
-
this.DEFAULT_RES_SIZE = 20;
|
|
21
|
-
// audit action codes that should be visible to regular users
|
|
22
|
-
this.userAuditActions = [
|
|
23
|
-
100, // metadata created
|
|
24
|
-
101, // metadata created (with content)
|
|
25
|
-
110, // tag created
|
|
26
|
-
201, // content deleted
|
|
27
|
-
210, // tag deleted
|
|
28
|
-
300, // metadata updated
|
|
29
|
-
301, // content updated
|
|
30
|
-
302, // metadata and content updated
|
|
31
|
-
303, // content moved
|
|
32
|
-
310, // tag updated
|
|
33
|
-
325, // object restored form version
|
|
34
|
-
340, // object moved
|
|
35
|
-
10000 // custom audit entries
|
|
36
|
-
];
|
|
37
|
-
// audit action codes that should be visible to admin users
|
|
38
|
-
this.adminAuditActions = [
|
|
39
|
-
202, // marked for delete
|
|
40
|
-
220, // version deleted
|
|
41
|
-
400, // content read
|
|
42
|
-
401, // metadata read
|
|
43
|
-
402, // rendition read (text)
|
|
44
|
-
403, // rendition read (pdf)
|
|
45
|
-
404 // rendition read (thumbnail)
|
|
46
|
-
];
|
|
47
|
-
}
|
|
48
|
-
#searchService;
|
|
49
|
-
#userService;
|
|
50
|
-
/**
|
|
51
|
-
* Get audit entries of a dms object
|
|
52
|
-
*/
|
|
53
|
-
getAuditEntries(id, options = {}) {
|
|
54
|
-
const auditActions = this.getAuditActions(!!options.allActions, options?.skipActions);
|
|
55
|
-
const q = {
|
|
56
|
-
size: this.DEFAULT_RES_SIZE,
|
|
57
|
-
types: [SystemType.AUDIT],
|
|
58
|
-
filters: [
|
|
59
|
-
{
|
|
60
|
-
f: AuditField.REFERRED_OBJECT_ID,
|
|
61
|
-
o: Operator.EQUAL,
|
|
62
|
-
v1: id
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
f: AuditField.ACTION,
|
|
66
|
-
o: Operator.IN,
|
|
67
|
-
v1: auditActions
|
|
68
|
-
}
|
|
69
|
-
],
|
|
70
|
-
sort: [
|
|
71
|
-
{
|
|
72
|
-
field: AuditField.CREATION_DATE,
|
|
73
|
-
order: 'desc'
|
|
74
|
-
}
|
|
75
|
-
]
|
|
76
|
-
};
|
|
77
|
-
return this.#fetchAudits(q);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Get an array of action codes that are provided by the service. Based on
|
|
81
|
-
* whether or not the user has admin permissions you'll get a different
|
|
82
|
-
* set of actions.
|
|
83
|
-
* @param skipActions codes of actions that should not be fetched
|
|
84
|
-
*/
|
|
85
|
-
getAuditActions(allActions, skipActions) {
|
|
86
|
-
const actions = allActions || this.#userService.isAdvancedUser ? [...this.userAuditActions, ...this.adminAuditActions] : this.userAuditActions;
|
|
87
|
-
return actions.filter((a) => !skipActions || !skipActions.includes(a));
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Get a certain page for a former audits query.
|
|
91
|
-
* @param auditsResult The result object of a former audits query
|
|
92
|
-
* @param page The page to load
|
|
93
|
-
*/
|
|
94
|
-
getPage(auditsResult, page) {
|
|
95
|
-
const q = auditsResult.query;
|
|
96
|
-
q.from = (page - 1) * (q.size || this.DEFAULT_RES_SIZE);
|
|
97
|
-
return this.#fetchAudits(q);
|
|
98
|
-
}
|
|
99
|
-
#fetchAudits(q) {
|
|
100
|
-
return this.#searchService.searchRaw(q).pipe(map((res) => ({
|
|
101
|
-
query: q,
|
|
102
|
-
items: res.objects.map((o) => ({
|
|
103
|
-
action: o.properties[AuditField.ACTION].value,
|
|
104
|
-
actionGroup: this.#getActionGroup(o.properties[AuditField.ACTION].value),
|
|
105
|
-
detail: o.properties[AuditField.DETAIL].value,
|
|
106
|
-
subaction: o.properties[AuditField.SUBACTION] ? o.properties[AuditField.SUBACTION].value : null,
|
|
107
|
-
version: o.properties[AuditField.VERSION].value,
|
|
108
|
-
creationDate: o.properties[AuditField.CREATION_DATE].value,
|
|
109
|
-
createdBy: {
|
|
110
|
-
id: o.properties[AuditField.CREATED_BY].value,
|
|
111
|
-
title: o.properties[AuditField.CREATED_BY].title
|
|
112
|
-
}
|
|
113
|
-
})),
|
|
114
|
-
hasMoreItems: res.hasMoreItems,
|
|
115
|
-
page: !q.from ? 1 : q.from / q.size + 1
|
|
116
|
-
})));
|
|
117
|
-
}
|
|
118
|
-
#getActionGroup(action) {
|
|
119
|
-
try {
|
|
120
|
-
return parseInt(`${action}`.substr(0, 1));
|
|
121
|
-
}
|
|
122
|
-
catch {
|
|
123
|
-
return -1;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
127
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditService, providedIn: 'root' }); }
|
|
128
|
-
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuditService, decorators: [{
|
|
130
|
-
type: Injectable,
|
|
131
|
-
args: [{
|
|
132
|
-
providedIn: 'root'
|
|
133
|
-
}]
|
|
134
|
-
}] });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1jb3JlL3NyYy9saWIvc2VydmljZS9hdWRpdC9hdWRpdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBZSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRDs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8sWUFBWTtJQUh6QjtRQUlFLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DLHdDQUF3QztRQUNoQyxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFOUIsNkRBQTZEO1FBQ3JELHFCQUFnQixHQUFhO1lBQ25DLEdBQUcsRUFBRSxtQkFBbUI7WUFDeEIsR0FBRyxFQUFFLGtDQUFrQztZQUN2QyxHQUFHLEVBQUUsY0FBYztZQUNuQixHQUFHLEVBQUUsa0JBQWtCO1lBQ3ZCLEdBQUcsRUFBRSxjQUFjO1lBQ25CLEdBQUcsRUFBRSxtQkFBbUI7WUFDeEIsR0FBRyxFQUFFLGtCQUFrQjtZQUN2QixHQUFHLEVBQUUsK0JBQStCO1lBQ3BDLEdBQUcsRUFBRSxnQkFBZ0I7WUFDckIsR0FBRyxFQUFFLGNBQWM7WUFDbkIsR0FBRyxFQUFFLCtCQUErQjtZ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QUFDLE1BQU0sQ0FBQztZQUNQLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQzsrR0FsSFUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3BlcmF0b3IsIFNlYXJjaFF1ZXJ5IH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC5zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBdWRpdEZpZWxkLCBTeXN0ZW1UeXBlIH0gZnJvbSAnLi4vc3lzdGVtL3N5c3RlbS5lbnVtJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdXNlci91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXVkaXRRdWVyeU9wdGlvbnMsIEF1ZGl0UXVlcnlSZXN1bHQgfSBmcm9tICcuL2F1ZGl0LmludGVyZmFjZSc7XG4vKipcbiAqIFNlcnZpY2UgcHJvdmlkaW5nIGFjY2VzcyB0byB0aGUgc3lzdGVtcyBhdWRpdCBlbnRyaWVzLiBBdWRpdHMgY2FuIGJlIHNlZW4gYXMgdGhlIGhpc3Rvcnkgb2ZcbiAqIGFuIG9iamVjdC4gQWN0aW9ucyBwZXJvcm1lZCBvbiBhbiBvYmplY3QgKGVnLiByZWFkLCB3cml0ZSwgZGVsZXRlLCAuLi4pIHdpbGwgYmUgcmVjb3JkZWQgZHVyaW5nXG4gKiB0aGUgb2JqZWN0cyBsaWZlY3ljbGUuIEF1ZGl0cyBhcmUgcHJvdmlkZWQgYmFzZWQgb24gYSB1c2VycyBwZXJtaXNzaW9ucy4gQmVzaWRlIHRoZSBhdWRpdCBlbnRyaWVzXG4gKiB2aXNpYmxlIHRvIHJlZ3VsYXIgdXNlcnMgdGhlcmUgYXJlIG1vcmUgdGVjaG5pY2FsIG9uZXMgdGhhdCB3aWxsIG9ubHkgYmUgc2hvd24gdG8gdXNlcnMgdGhhdFxuICogaGF2ZSBhZG1pbmlzdHJhdGl2ZSByb2xlLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBdWRpdFNlcnZpY2Uge1xuICAjc2VhcmNoU2VydmljZSA9IGluamVjdChTZWFyY2hTZXJ2aWNlKTtcbiAgI3VzZXJTZXJ2aWNlID0gaW5qZWN0KFVzZXJTZXJ2aWNlKTtcblxuICAvLyBkZWZhdWx0IG51bWJlciBvZiBpdGVtcyB0byBiZSBmZXRjaGVkXG4gIHByaXZhdGUgREVGQVVMVF9SRVNfU0laRSA9IDIwO1xuXG4gIC8vIGF1ZGl0IGFjdGlvbiBjb2RlcyB0aGF0IHNob3VsZCBiZSB2aXNpYmxlIHRvIHJlZ3VsYXIgdXNlcnNcbiAgcHJpdmF0ZSB1c2VyQXVkaXRBY3Rpb25zOiBudW1iZXJbXSA9IFtcbiAgICAxMDAsIC8vIG1ldGFkYXRhIGNyZWF0ZWRcbiAgICAxMDEsIC8vIG1ldGFkYXRhIGNyZWF0ZWQgKHdpdGggY29udGVudClcbiAgICAxMTAsIC8vIHRhZyBjcmVhdGVkXG4gICAgMjAxLCAvLyBjb250ZW50IGRlbGV0ZWRcbiAgICAyMTAsIC8vIHRhZyBkZWxldGVkXG4gICAgMzAwLCAvLyBtZXRhZGF0YSB1cGRhdGVkXG4gICAgMzAxLCAvLyBjb250ZW50IHVwZGF0ZWRcbiAgICAzMDIsIC8vIG1ldGFkYXRhIGFuZCBjb250ZW50IHVwZGF0ZWRcbiAgICAzMDMsIC8vIGNvbnRlbnQgbW92ZWRcbiAgICAzMTAsIC8vIHRhZyB1cGRhdGVkXG4gICAgMzI1LCAvLyBvYmplY3QgcmVzdG9yZWQgZm9ybSB2ZXJzaW9uXG4gICAgMzQwLCAvLyBvYmplY3QgbW92ZWRcbiAgICAxMDAwMCAvLyBjdXN0b20gYXVkaXQgZW50cmllc1xuICBdO1xuICAvLyBhdWRpdCBhY3Rpb24gY29kZXMgdGhhdCBzaG91bGQgYmUgdmlzaWJsZSB0byBhZG1pbiB1c2Vyc1xuICBwcml2YXRlIGFkbWluQXVkaXRBY3Rpb25zOiBudW1iZXJbXSA9IFtcbiAgICAyMDIsIC8vIG1hcmtlZCBmb3IgZGVsZXRlXG4gICAgMjIwLCAvLyB2ZXJzaW9uIGRlbGV0ZWRcbiAgICA0MDAsIC8vIGNvbnRlbnQgcmVhZFxuICAgIDQwMSwgLy8gbWV0YWRhdGEgcmVhZFxuICAgIDQwMiwgLy8gcmVuZGl0aW9uIHJlYWQgKHRleHQpXG4gICAgNDAzLCAvLyByZW5kaXRpb24gcmVhZCAocGRmKVxuICAgIDQwNCAvLyByZW5kaXRpb24gcmVhZCAodGh1bWJuYWlsKVxuICBdO1xuXG4gIC8qKlxuICAgKiBHZXQgYXVkaXQgZW50cmllcyBvZiBhIGRtcyBvYmplY3RcbiAgICovXG4gIGdldEF1ZGl0RW50cmllcyhpZDogc3RyaW5nLCBvcHRpb25zOiBBdWRpdFF1ZXJ5T3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxBdWRpdFF1ZXJ5UmVzdWx0PiB7XG4gICAgY29uc3QgYXVkaXRBY3Rpb25zID0gdGhpcy5nZXRBdWRpdEFjdGlvbnMoISFvcHRpb25zLmFsbEFjdGlvbnMsIG9wdGlvbnM/LnNraXBBY3Rpb25zKTtcbiAgICBjb25zdCBxOiBTZWFyY2hRdWVyeSA9IHtcbiAgICAgIHNpemU6IHRoaXMuREVGQVVMVF9SRVNfU0laRSxcbiAgICAgIHR5cGVzOiBbU3lzdGVtVHlwZS5BVURJVF0sXG4gICAgICBmaWx0ZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmOiBBdWRpdEZpZWxkLlJFRkVSUkVEX09CSkVDVF9JRCxcbiAgICAgICAgICBvOiBPcGVyYXRvci5FUVVBTCxcbiAgICAgICAgICB2MTogaWRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGY6IEF1ZGl0RmllbGQuQUNUSU9OLFxuICAgICAgICAgIG86IE9wZXJhdG9yLklOLFxuICAgICAgICAgIHYxOiBhdWRpdEFjdGlvbnNcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIHNvcnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkOiBBdWRpdEZpZWxkLkNSRUFUSU9OX0RBVEUsXG4gICAgICAgICAgb3JkZXI6ICdkZXNjJ1xuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy4jZmV0Y2hBdWRpdHMocSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGFycmF5IG9mIGFjdGlvbiBjb2RlcyB0aGF0IGFyZSBwcm92aWRlZCBieSB0aGUgc2VydmljZS4gQmFzZWQgb25cbiAgICogd2hldGhlciBvciBub3QgdGhlIHVzZXIgaGFzIGFkbWluIHBlcm1pc3Npb25zIHlvdSdsbCBnZXQgYSBkaWZmZXJlbnRcbiAgICogc2V0IG9mIGFjdGlvbnMuXG4gICAqIEBwYXJhbSBza2lwQWN0aW9ucyBjb2RlcyBvZiBhY3Rpb25zIHRoYXQgc2hvdWxkIG5vdCBiZSBmZXRjaGVkXG4gICAqL1xuICBnZXRBdWRpdEFjdGlvbnMoYWxsQWN0aW9uczogYm9vbGVhbiwgc2tpcEFjdGlvbnM/OiBudW1iZXJbXSk6IG51bWJlcltdIHtcbiAgICBjb25zdCBhY3Rpb25zID0gYWxsQWN0aW9ucyB8fCB0aGlzLiN1c2VyU2VydmljZS5pc0FkdmFuY2VkVXNlciA/IFsuLi50aGlzLnVzZXJBdWRpdEFjdGlvbnMsIC4uLnRoaXMuYWRtaW5BdWRpdEFjdGlvbnNdIDogdGhpcy51c2VyQXVkaXRBY3Rpb25zO1xuICAgIHJldHVybiBhY3Rpb25zLmZpbHRlcigoYSkgPT4gIXNraXBBY3Rpb25zIHx8ICFza2lwQWN0aW9ucy5pbmNsdWRlcyhhKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgY2VydGFpbiBwYWdlIGZvciBhIGZvcm1lciBhdWRpdHMgcXVlcnkuXG4gICAqIEBwYXJhbSBhdWRpdHNSZXN1bHQgVGhlIHJlc3VsdCBvYmplY3Qgb2YgYSBmb3JtZXIgYXVkaXRzIHF1ZXJ5XG4gICAqIEBwYXJhbSBwYWdlIFRoZSBwYWdlIHRvIGxvYWRcbiAgICovXG4gIGdldFBhZ2UoYXVkaXRzUmVzdWx0OiBBdWRpdFF1ZXJ5UmVzdWx0LCBwYWdlOiBudW1iZXIpIHtcbiAgICBjb25zdCBxID0gYXVkaXRzUmVzdWx0LnF1ZXJ5O1xuICAgIHEuZnJvbSA9IChwYWdlIC0gMSkgKiAocS5zaXplIHx8IHRoaXMuREVGQVVMVF9SRVNfU0laRSk7XG4gICAgcmV0dXJuIHRoaXMuI2ZldGNoQXVkaXRzKHEpO1xuICB9XG5cbiAgI2ZldGNoQXVkaXRzKHE6IFNlYXJjaFF1ZXJ5KTogT2JzZXJ2YWJsZTxBdWRpdFF1ZXJ5UmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuI3NlYXJjaFNlcnZpY2Uuc2VhcmNoUmF3KHEpLnBpcGUoXG4gICAgICBtYXAoKHJlczogYW55KSA9PiAoe1xuICAgICAgICBxdWVyeTogcSxcbiAgICAgICAgaXRlbXM6IHJlcy5vYmplY3RzLm1hcCgobzogYW55KSA9PiAoe1xuICAgICAgICAgIGFjdGlvbjogby5wcm9wZXJ0aWVzW0F1ZGl0RmllbGQuQUNUSU9OXS52YWx1ZSxcbiAgICAgICAgICBhY3Rpb25Hcm91cDogdGhpcy4jZ2V0QWN0aW9uR3JvdXAoby5wcm9wZXJ0aWVzW0F1ZGl0RmllbGQuQUNUSU9OXS52YWx1ZSksXG4gICAgICAgICAgZGV0YWlsOiBvLnByb3BlcnRpZXNbQXVkaXRGaWVsZC5ERVRBSUxdLnZhbHVlLFxuICAgICAgICAgIHN1YmFjdGlvbjogby5wcm9wZXJ0aWVzW0F1ZGl0RmllbGQuU1VCQUNUSU9OXSA/IG8ucHJvcGVydGllc1tBdWRpdEZpZWxkLlNVQkFDVElPTl0udmFsdWUgOiBudWxsLFxuICAgICAgICAgIHZlcnNpb246IG8ucHJvcGVydGllc1tBdWRpdEZpZWxkLlZFUlNJT05dLnZhbHVlLFxuICAgICAgICAgIGNyZWF0aW9uRGF0ZTogby5wcm9wZXJ0aWVzW0F1ZGl0RmllbGQuQ1JFQVRJT05fREFURV0udmFsdWUsXG4gICAgICAgICAgY3JlYXRlZEJ5OiB7XG4gICAgICAgICAgICBpZDogby5wcm9wZXJ0aWVzW0F1ZGl0RmllbGQuQ1JFQVRFRF9CWV0udmFsdWUsXG4gICAgICAgICAgICB0aXRsZTogby5wcm9wZXJ0aWVzW0F1ZGl0RmllbGQuQ1JFQVRFRF9CWV0udGl0bGVcbiAgICAgICAgICB9XG4gICAgICAgIH0pKSxcbiAgICAgICAgaGFzTW9yZUl0ZW1zOiByZXMuaGFzTW9yZUl0ZW1zLFxuICAgICAgICBwYWdlOiAhcS5mcm9tID8gMSA6IHEuZnJvbSAvIHEuc2l6ZSEgKyAxXG4gICAgICB9KSlcbiAgICApO1xuICB9XG5cbiAgI2dldEFjdGlvbkdyb3VwKGFjdGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBhcnNlSW50KGAke2FjdGlvbn1gLnN1YnN0cigwLCAxKSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
|
|
2
|
-
import { Injectable, inject } from '@angular/core';
|
|
3
|
-
import { tap } from 'rxjs/operators';
|
|
4
|
-
import { BackendService } from '../backend/backend.service';
|
|
5
|
-
import { UserService } from '../user/user.service';
|
|
6
|
-
import { AuthService } from './auth.service';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
/**
|
|
9
|
-
* Prevent app from running into 401 issues related to gateway timeouts.
|
|
10
|
-
*/
|
|
11
|
-
export class AuthInterceptor {
|
|
12
|
-
/**
|
|
13
|
-
* @ignore
|
|
14
|
-
*/
|
|
15
|
-
#userService = inject(UserService);
|
|
16
|
-
#auth = inject(AuthService);
|
|
17
|
-
#backend = inject(BackendService);
|
|
18
|
-
// readonly #oauthService = inject(OAuthService);
|
|
19
|
-
intercept(request, next) {
|
|
20
|
-
return next.handle(request).pipe(tap({
|
|
21
|
-
next: (event) => {
|
|
22
|
-
if (event instanceof HttpResponse) {
|
|
23
|
-
// do stuff with response if you want
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
error: (error) => {
|
|
27
|
-
if (error instanceof HttpErrorResponse || error.isHttpErrorResponse) {
|
|
28
|
-
if (error.status === 401) {
|
|
29
|
-
if (this.#backend.authUsesOpenIdConnect()) {
|
|
30
|
-
// this.#oauthService.initLoginFlow();
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
this.#auth.logout();
|
|
34
|
-
this.#userService.logout();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
42
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthInterceptor, providedIn: 'root' }); }
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthInterceptor, decorators: [{
|
|
45
|
-
type: Injectable,
|
|
46
|
-
args: [{
|
|
47
|
-
providedIn: 'root'
|
|
48
|
-
}]
|
|
49
|
-
}] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1jb3JlL3NyYy9saWIvc2VydmljZS9hdXRoL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUF3RCxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3SCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBQzdDOztHQUVHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFDMUI7O09BRUc7SUFDTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25DLEtBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzQyxpREFBaUQ7SUFFakQsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDcEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUIsR0FBRyxDQUFDO1lBQ0YsSUFBSSxFQUFFLENBQUMsS0FBcUIsRUFBRSxFQUFFO2dCQUM5QixJQUFJLEtBQUssWUFBWSxZQUFZLEVBQUUsQ0FBQztvQkFDbEMscUNBQXFDO2dCQUN2QyxDQUFDO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNwQixJQUFJLEtBQUssWUFBWSxpQkFBaUIsSUFBSSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztvQkFDcEUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO3dCQUN6QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDOzRCQUMxQyxzQ0FBc0M7d0JBQ3hDLENBQUM7NkJBQU0sQ0FBQzs0QkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDOzRCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUM3QixDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7U0FDRixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBL0JVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFja2VuZFNlcnZpY2UgfSBmcm9tICcuLi9iYWNrZW5kL2JhY2tlbmQuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uL3VzZXIvdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuLyoqXG4gKiBQcmV2ZW50IGFwcCBmcm9tIHJ1bm5pbmcgaW50byA0MDEgaXNzdWVzIHJlbGF0ZWQgdG8gZ2F0ZXdheSB0aW1lb3V0cy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXV0aEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHJlYWRvbmx5ICN1c2VyU2VydmljZSA9IGluamVjdChVc2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2JhY2tlbmQgPSBpbmplY3QoQmFja2VuZFNlcnZpY2UpO1xuICAvLyByZWFkb25seSAjb2F1dGhTZXJ2aWNlID0gaW5qZWN0KE9BdXRoU2VydmljZSk7XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxuICAgICAgdGFwKHtcbiAgICAgICAgbmV4dDogKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xuICAgICAgICAgICAgLy8gZG8gc3R1ZmYgd2l0aCByZXNwb25zZSBpZiB5b3Ugd2FudFxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgfHwgZXJyb3IuaXNIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLiNiYWNrZW5kLmF1dGhVc2VzT3BlbklkQ29ubmVjdCgpKSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy4jb2F1dGhTZXJ2aWNlLmluaXRMb2dpbkZsb3coKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiNhdXRoLmxvZ291dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuI3VzZXJTZXJ2aWNlLmxvZ291dCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export var LoginStateName;
|
|
2
|
-
(function (LoginStateName) {
|
|
3
|
-
LoginStateName["STATE_LOGIN_URI"] = "login.uri";
|
|
4
|
-
LoginStateName["STATE_DONE"] = "login.done";
|
|
5
|
-
LoginStateName["STATE_CANCELED"] = "login.canceled";
|
|
6
|
-
})(LoginStateName || (LoginStateName = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2UvYXV0aC9hdXRoLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQkEsTUFBTSxDQUFOLElBQVksY0FJWDtBQUpELFdBQVksY0FBYztJQUN4QiwrQ0FBNkIsQ0FBQTtJQUM3QiwyQ0FBeUIsQ0FBQTtJQUN6QixtREFBaUMsQ0FBQTtBQUNuQyxDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlc3VsdCB3aGVuIGNhbGxpbmcgbG9naW5EZXZpY2UgZW5kcG9pbnQgaW4gY2xvdWQgZW52aXJvbm1lbnRcbiAqIHdoZW4gdXNpbmcgZGV2aWNlIGZsb3dcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dpbkRldmljZVJlc3VsdCB7XG4gIHVzZXJfY29kZTogc3RyaW5nO1xuICBkZXZpY2VfY29kZTogc3RyaW5nO1xuICBpbnRlcnZhbDogbnVtYmVyO1xuICB2ZXJpZmljYXRpb25fdXJpOiBzdHJpbmc7XG4gIGV4cGlyZXNfaW46IG51bWJlcjtcbn1cbi8qKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JlZFRva2VuIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgdGVuYW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU3RhdGUgZW1pdHRlZCBieSB0aGUgbG9naW4gZnVuY3Rpb24gd2hlbiB1c2luZyB0aGUgZGV2aWNlIGZsb3dcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dpblN0YXRlIHtcbiAgbmFtZTogTG9naW5TdGF0ZU5hbWU7XG4gIGRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGVudW0gTG9naW5TdGF0ZU5hbWUge1xuICBTVEFURV9MT0dJTl9VUkkgPSAnbG9naW4udXJpJyxcbiAgU1RBVEVfRE9ORSA9ICdsb2dpbi5kb25lJyxcbiAgU1RBVEVfQ0FOQ0VMRUQgPSAnbG9naW4uY2FuY2VsZWQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgWXV2SW5pdEVycm9yIHtcbiAgc3RhdHVzOiBudW1iZXI7XG4gIGtleTogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { inject, Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { map, switchMap, tap } from 'rxjs/operators';
|
|
4
|
-
import { YuvUser } from '../../model/yuv-user.model';
|
|
5
|
-
import { Utils } from '../../util/utils';
|
|
6
|
-
import { BackendService } from '../backend/backend.service';
|
|
7
|
-
import { AppCacheService } from '../cache/app-cache.service';
|
|
8
|
-
import { CoreConfig } from '../config/core-config';
|
|
9
|
-
import { CORE_CONFIG } from '../config/core-config.tokens';
|
|
10
|
-
import { EventService } from '../event/event.service';
|
|
11
|
-
import { YuvEventType } from '../event/events';
|
|
12
|
-
import { SystemService } from '../system/system.service';
|
|
13
|
-
import { UserService } from '../user/user.service';
|
|
14
|
-
import { ObjectConfigService } from '../object-config/object-config.service';
|
|
15
|
-
import * as i0 from "@angular/core";
|
|
16
|
-
import * as i1 from "../config/core-config";
|
|
17
|
-
/**
|
|
18
|
-
* Service handling authentication related issues.
|
|
19
|
-
*/
|
|
20
|
-
export class AuthService {
|
|
21
|
-
#eventService;
|
|
22
|
-
#userService;
|
|
23
|
-
#objectConfigService;
|
|
24
|
-
#appCache;
|
|
25
|
-
#systemService;
|
|
26
|
-
#backend;
|
|
27
|
-
#INITAL_REQUEST_STORAGE_KEY;
|
|
28
|
-
#authenticated;
|
|
29
|
-
#authSource;
|
|
30
|
-
#authData;
|
|
31
|
-
constructor(coreConfig) {
|
|
32
|
-
this.coreConfig = coreConfig;
|
|
33
|
-
this.#eventService = inject(EventService);
|
|
34
|
-
this.#userService = inject(UserService);
|
|
35
|
-
this.#objectConfigService = inject(ObjectConfigService);
|
|
36
|
-
this.#appCache = inject(AppCacheService);
|
|
37
|
-
this.#systemService = inject(SystemService);
|
|
38
|
-
this.#backend = inject(BackendService);
|
|
39
|
-
this.#INITAL_REQUEST_STORAGE_KEY = 'yuv.core.auth.initialrequest';
|
|
40
|
-
this.USER_FETCH_URI = '/idm/whoami';
|
|
41
|
-
this.#authenticated = false;
|
|
42
|
-
this.#authSource = new BehaviorSubject(false);
|
|
43
|
-
this.authenticated$ = this.#authSource.asObservable();
|
|
44
|
-
}
|
|
45
|
-
isLoggedIn() {
|
|
46
|
-
return this.#authenticated;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Called while app/core is initialized (APP_INITIALIZER)
|
|
50
|
-
* @ignore
|
|
51
|
-
*/
|
|
52
|
-
initUser() {
|
|
53
|
-
return this.fetchUser();
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Get the current tenant or the previous one persisted locally
|
|
57
|
-
*/
|
|
58
|
-
getTenant() {
|
|
59
|
-
return this.#authData?.tenant;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Fetch information about the user currently logged in
|
|
63
|
-
*/
|
|
64
|
-
fetchUser() {
|
|
65
|
-
return this.#backend.get(this.USER_FETCH_URI).pipe(tap(() => {
|
|
66
|
-
this.#authenticated = true;
|
|
67
|
-
this.#authSource.next(this.#authenticated);
|
|
68
|
-
}), switchMap((userJson) => this.#initApp(userJson)));
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Logs out the current user.
|
|
72
|
-
*/
|
|
73
|
-
logout() {
|
|
74
|
-
this.#authenticated = false;
|
|
75
|
-
this.#authSource.next(this.#authenticated);
|
|
76
|
-
this.#eventService.trigger(YuvEventType.LOGOUT);
|
|
77
|
-
}
|
|
78
|
-
// called on core init
|
|
79
|
-
setInitialRequestUri() {
|
|
80
|
-
const ignore = ['/', '/index.html'];
|
|
81
|
-
let uri = `${location.pathname}${location.search}`.replace(Utils.getBaseHref(), '');
|
|
82
|
-
uri = !uri.startsWith('/') ? `/${uri}` : uri;
|
|
83
|
-
if (!ignore.includes(uri)) {
|
|
84
|
-
this.#appCache
|
|
85
|
-
.setItem(this.#INITAL_REQUEST_STORAGE_KEY, {
|
|
86
|
-
uri: uri,
|
|
87
|
-
timestamp: Date.now()
|
|
88
|
-
})
|
|
89
|
-
.subscribe();
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Get the URL that entered the app. May be a deep link that could then be
|
|
94
|
-
* picked up again after user has been authenticated.
|
|
95
|
-
*/
|
|
96
|
-
getInitialRequestUri() {
|
|
97
|
-
return this.#appCache.getItem(this.#INITAL_REQUEST_STORAGE_KEY);
|
|
98
|
-
}
|
|
99
|
-
resetInitialRequestUri() {
|
|
100
|
-
return this.#appCache.removeItem(this.#INITAL_REQUEST_STORAGE_KEY);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Initialize/setup the application for a given user. This involves fetching
|
|
104
|
-
* settings and schema information.
|
|
105
|
-
* @param userJson Data retrieved from the backend
|
|
106
|
-
*/
|
|
107
|
-
#initApp(userJson) {
|
|
108
|
-
return this.#userService.fetchUserSettings().pipe(switchMap((userSettings) => {
|
|
109
|
-
const currentUser = new YuvUser(userJson, userSettings);
|
|
110
|
-
this.#userService.setCurrentUser(currentUser);
|
|
111
|
-
this.#authData = {
|
|
112
|
-
tenant: currentUser.tenant,
|
|
113
|
-
language: currentUser.getClientLocale()
|
|
114
|
-
};
|
|
115
|
-
return this.#systemService.getSystemDefinition(this.#authData).pipe(switchMap(() => this.#objectConfigService.init()), map(() => currentUser));
|
|
116
|
-
}));
|
|
117
|
-
}
|
|
118
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, deps: [{ token: CORE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
119
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, providedIn: 'root' }); }
|
|
120
|
-
}
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, decorators: [{
|
|
122
|
-
type: Injectable,
|
|
123
|
-
args: [{
|
|
124
|
-
providedIn: 'root'
|
|
125
|
-
}]
|
|
126
|
-
}], ctorParameters: () => [{ type: i1.CoreConfig, decorators: [{
|
|
127
|
-
type: Inject,
|
|
128
|
-
args: [CORE_CONFIG]
|
|
129
|
-
}] }] });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWNvcmUvc3JjL2xpYi9zZXJ2aWNlL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBZ0IsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQUU3RTs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFXO0lBQ3RCLGFBQWEsQ0FBd0I7SUFDckMsWUFBWSxDQUF1QjtJQUNuQyxvQkFBb0IsQ0FB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QUUsTUFBTTtpQkFDbkI7OzBCQW9CYyxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXNlclNldHRpbmdzLCBZdXZVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWwveXV2LXVzZXIubW9kZWwnO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi91dGlsL3V0aWxzJztcbmltcG9ydCB7IEJhY2tlbmRTZXJ2aWNlIH0gZnJvbSAnLi4vYmFja2VuZC9iYWNrZW5kLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi4vY2FjaGUvYXBwLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29yZUNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy9jb3JlLWNvbmZpZyc7XG5pbXBvcnQgeyBDT1JFX0NPTkZJRyB9IGZyb20gJy4uL2NvbmZpZy9jb3JlLWNvbmZpZy50b2tlbnMnO1xuaW1wb3J0IHsgRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZXZlbnQvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBZdXZFdmVudFR5cGUgfSBmcm9tICcuLi9ldmVudC9ldmVudHMnO1xuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gJy4uL3N5c3RlbS9zeXN0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uL3VzZXIvdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IFl1dkluaXRFcnJvciB9IGZyb20gJy4vYXV0aC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT2JqZWN0Q29uZmlnU2VydmljZSB9IGZyb20gJy4uL29iamVjdC1jb25maWcvb2JqZWN0LWNvbmZpZy5zZXJ2aWNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIGhhbmRsaW5nIGF1dGhlbnRpY2F0aW9uIHJlbGF0ZWQgaXNzdWVzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG4gICNldmVudFNlcnZpY2UgPSBpbmplY3QoRXZlbnRTZXJ2aWNlKTtcbiAgI3VzZXJTZXJ2aWNlID0gaW5qZWN0KFVzZXJTZXJ2aWNlKTtcbiAgI29iamVjdENvbmZpZ1NlcnZpY2UgPSBpbmplY3QoT2JqZWN0Q29uZmlnU2VydmljZSk7XG4gICNhcHBDYWNoZSA9IGluamVjdChBcHBDYWNoZVNlcnZpY2UpO1xuICAjc3lzdGVtU2VydmljZSA9IGluamVjdChTeXN0ZW1TZXJ2aWNlKTtcbiAgI2JhY2tlbmQgPSBpbmplY3QoQmFja2VuZFNlcnZpY2UpO1xuXG4gICNJTklUQUxfUkVRVUVTVF9TVE9SQUdFX0tFWSA9ICd5dXYuY29yZS5hdXRoLmluaXRpYWxyZXF1ZXN0JztcbiAgcmVhZG9ubHkgVVNFUl9GRVRDSF9VUkkgPSAnL2lkbS93aG9hbWknO1xuXG4gICNhdXRoZW50aWNhdGVkID0gZmFsc2U7XG4gICNhdXRoU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIGF1dGhlbnRpY2F0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy4jYXV0aFNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAjYXV0aERhdGEhOiBBdXRoRGF0YTtcbiAgLy8gc2V0IGJ5IGNvcmUtaW5pdFxuICBpbml0RXJyb3I/OiBZdXZJbml0RXJyb3I7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChDT1JFX0NPTkZJRykgcHVibGljIGNvcmVDb25maWc6IENvcmVDb25maWcpIHt9XG5cbiAgaXNMb2dnZWRJbigpIHtcbiAgICByZXR1cm4gdGhpcy4jYXV0aGVudGljYXRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hpbGUgYXBwL2NvcmUgaXMgaW5pdGlhbGl6ZWQgKEFQUF9JTklUSUFMSVpFUilcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaW5pdFVzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hVc2VyKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IHRlbmFudCBvciB0aGUgcHJldmlvdXMgb25lIHBlcnNpc3RlZCBsb2NhbGx5XG4gICAqL1xuICBnZXRUZW5hbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jYXV0aERhdGE/LnRlbmFudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdXNlciBjdXJyZW50bHkgbG9nZ2VkIGluXG4gICAqL1xuICBmZXRjaFVzZXIoKTogT2JzZXJ2YWJsZTxZdXZVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuI2JhY2tlbmQuZ2V0KHRoaXMuVVNFUl9GRVRDSF9VUkkpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLiNhdXRoZW50aWNhdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy4jYXV0aFNvdXJjZS5uZXh0KHRoaXMuI2F1dGhlbnRpY2F0ZWQpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKHVzZXJKc29uOiBhbnkpID0+IHRoaXMuI2luaXRBcHAodXNlckpzb24pKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBvdXQgdGhlIGN1cnJlbnQgdXNlci5cbiAgICovXG4gIGxvZ291dCgpIHtcbiAgICB0aGlzLiNhdXRoZW50aWNhdGVkID0gZmFsc2U7XG4gICAgdGhpcy4jYXV0aFNvdXJjZS5uZXh0KHRoaXMuI2F1dGhlbnRpY2F0ZWQpO1xuICAgIHRoaXMuI2V2ZW50U2VydmljZS50cmlnZ2VyKFl1dkV2ZW50VHlwZS5MT0dPVVQpO1xuICB9XG5cbiAgLy8gY2FsbGVkIG9uIGNvcmUgaW5pdFxuICBzZXRJbml0aWFsUmVxdWVzdFVyaSgpIHtcbiAgICBjb25zdCBpZ25vcmUgPSBbJy8nLCAnL2luZGV4Lmh0bWwnXTtcbiAgICBsZXQgdXJpID0gYCR7bG9jYXRpb24ucGF0aG5hbWV9JHtsb2NhdGlvbi5zZWFyY2h9YC5yZXBsYWNlKFV0aWxzLmdldEJhc2VIcmVmKCksICcnKTtcbiAgICB1cmkgPSAhdXJpLnN0YXJ0c1dpdGgoJy8nKSA/IGAvJHt1cml9YCA6IHVyaTtcblxuICAgIGlmICghaWdub3JlLmluY2x1ZGVzKHVyaSkpIHtcbiAgICAgIHRoaXMuI2FwcENhY2hlXG4gICAgICAgIC5zZXRJdGVtKHRoaXMuI0lOSVRBTF9SRVFVRVNUX1NUT1JBR0VfS0VZLCB7XG4gICAgICAgICAgdXJpOiB1cmksXG4gICAgICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpXG4gICAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBVUkwgdGhhdCBlbnRlcmVkIHRoZSBhcHAuIE1heSBiZSBhIGRlZXAgbGluayB0aGF0IGNvdWxkIHRoZW4gYmVcbiAgICogcGlja2VkIHVwIGFnYWluIGFmdGVyIHVzZXIgaGFzIGJlZW4gYXV0aGVudGljYXRlZC5cbiAgICovXG4gIGdldEluaXRpYWxSZXF1ZXN0VXJpKCk6IE9ic2VydmFibGU8eyB1cmk6IHN0cmluZzsgdGltZXN0YW1wOiBudW1iZXIgfT4ge1xuICAgIHJldHVybiB0aGlzLiNhcHBDYWNoZS5nZXRJdGVtKHRoaXMuI0lOSVRBTF9SRVFVRVNUX1NUT1JBR0VfS0VZKTtcbiAgfVxuXG4gIHJlc2V0SW5pdGlhbFJlcXVlc3RVcmkoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy4jYXBwQ2FjaGUucmVtb3ZlSXRlbSh0aGlzLiNJTklUQUxfUkVRVUVTVF9TVE9SQUdFX0tFWSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZS9zZXR1cCB0aGUgYXBwbGljYXRpb24gZm9yIGEgZ2l2ZW4gdXNlci4gVGhpcyBpbnZvbHZlcyBmZXRjaGluZ1xuICAgKiBzZXR0aW5ncyBhbmQgc2NoZW1hIGluZm9ybWF0aW9uLlxuICAgKiBAcGFyYW0gdXNlckpzb24gRGF0YSByZXRyaWV2ZWQgZnJvbSB0aGUgYmFja2VuZFxuICAgKi9cbiAgI2luaXRBcHAodXNlckpzb246IGFueSk6IE9ic2VydmFibGU8WXV2VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLiN1c2VyU2VydmljZS5mZXRjaFVzZXJTZXR0aW5ncygpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHVzZXJTZXR0aW5nczogVXNlclNldHRpbmdzKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gbmV3IFl1dlVzZXIodXNlckpzb24sIHVzZXJTZXR0aW5ncyk7XG4gICAgICAgIHRoaXMuI3VzZXJTZXJ2aWNlLnNldEN1cnJlbnRVc2VyKGN1cnJlbnRVc2VyKTtcbiAgICAgICAgdGhpcy4jYXV0aERhdGEgPSB7XG4gICAgICAgICAgdGVuYW50OiBjdXJyZW50VXNlci50ZW5hbnQsXG4gICAgICAgICAgbGFuZ3VhZ2U6IGN1cnJlbnRVc2VyLmdldENsaWVudExvY2FsZSgpXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB0aGlzLiNzeXN0ZW1TZXJ2aWNlLmdldFN5c3RlbURlZmluaXRpb24odGhpcy4jYXV0aERhdGEpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuI29iamVjdENvbmZpZ1NlcnZpY2UuaW5pdCgpKSxcbiAgICAgICAgICBtYXAoKCkgPT4gY3VycmVudFVzZXIpXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoRGF0YSB7XG4gIHRlbmFudDogc3RyaW5nO1xuICBsYW5ndWFnZTogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
-
import { OAuthModuleConfig, OAuthService } from 'angular-oauth2-oidc';
|
|
3
|
-
import { from, Observable, of } from 'rxjs';
|
|
4
|
-
import { map } from 'rxjs/operators';
|
|
5
|
-
import { CoreConfig } from '../config/core-config';
|
|
6
|
-
import { CORE_CONFIG } from '../config/core-config.tokens';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "angular-oauth2-oidc";
|
|
9
|
-
import * as i2 from "../config/core-config";
|
|
10
|
-
export class OidcService {
|
|
11
|
-
constructor(oAuthConfig, config, oauthService) {
|
|
12
|
-
this.oAuthConfig = oAuthConfig;
|
|
13
|
-
this.config = config;
|
|
14
|
-
this.oauthService = oauthService;
|
|
15
|
-
}
|
|
16
|
-
initOpenIdConnect(oidc) {
|
|
17
|
-
oidc = this.config.oidc = oidc || this.config.oidc;
|
|
18
|
-
if (oidc?.host) {
|
|
19
|
-
oidc.host = oidc.host.endsWith('/') ? oidc.host.substring(0, -1) : oidc.host;
|
|
20
|
-
}
|
|
21
|
-
else
|
|
22
|
-
return of(undefined);
|
|
23
|
-
this.oAuthConfig.resourceServer = {
|
|
24
|
-
sendAccessToken: true,
|
|
25
|
-
allowedUrls: [oidc.host]
|
|
26
|
-
};
|
|
27
|
-
const authConfig = {
|
|
28
|
-
strictDiscoveryDocumentValidation: false,
|
|
29
|
-
issuer: oidc.issuer,
|
|
30
|
-
redirectUri: oidc.redirectUri || window.location.origin + '/',
|
|
31
|
-
postLogoutRedirectUri: oidc.postLogoutRedirectUri || window.location.origin + '/',
|
|
32
|
-
clientId: oidc.clientId,
|
|
33
|
-
responseType: 'code',
|
|
34
|
-
scope: 'openid profile email offline_access',
|
|
35
|
-
showDebugInformation: false,
|
|
36
|
-
requireHttps: false,
|
|
37
|
-
disableAtHashCheck: true,
|
|
38
|
-
sessionCheckIntervall: 60000,
|
|
39
|
-
sessionChecksEnabled: true,
|
|
40
|
-
clearHashAfterLogin: false,
|
|
41
|
-
silentRefreshTimeout: 5000 // For faster testing
|
|
42
|
-
};
|
|
43
|
-
this.oauthService.configure(authConfig);
|
|
44
|
-
this.oauthService.setupAutomaticSilentRefresh();
|
|
45
|
-
return from(this.oauthService.loadDiscoveryDocumentAndLogin()).pipe(map(() => this.config.oidc));
|
|
46
|
-
}
|
|
47
|
-
logout() {
|
|
48
|
-
this.oauthService.logOut();
|
|
49
|
-
}
|
|
50
|
-
setupCookie(viewer, path, headers) {
|
|
51
|
-
return new Observable((subscriber) => {
|
|
52
|
-
let iframe = document.querySelector('body > iframe#__oidc');
|
|
53
|
-
if (!iframe) {
|
|
54
|
-
iframe = document.createElement('iframe');
|
|
55
|
-
iframe.style.display = 'none';
|
|
56
|
-
iframe.id = '__oidc';
|
|
57
|
-
iframe.onload = () => {
|
|
58
|
-
iframe.subscriber.next({});
|
|
59
|
-
iframe.subscriber.complete();
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
iframe.subscriber = subscriber;
|
|
63
|
-
iframe.setAttribute('src', `${viewer}/download?setCookie=/&path=${encodeURIComponent(path)}&headers=${encodeURIComponent(JSON.stringify(headers))}`);
|
|
64
|
-
document.body.appendChild(iframe);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OidcService, deps: [{ token: i1.OAuthModuleConfig, optional: true }, { token: CORE_CONFIG }, { token: i1.OAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
68
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OidcService, providedIn: 'root' }); }
|
|
69
|
-
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OidcService, decorators: [{
|
|
71
|
-
type: Injectable,
|
|
72
|
-
args: [{
|
|
73
|
-
providedIn: 'root'
|
|
74
|
-
}]
|
|
75
|
-
}], ctorParameters: () => [{ type: i1.OAuthModuleConfig, decorators: [{
|
|
76
|
-
type: Optional
|
|
77
|
-
}] }, { type: i2.CoreConfig, decorators: [{
|
|
78
|
-
type: Inject,
|
|
79
|
-
args: [CORE_CONFIG]
|
|
80
|
-
}] }, { type: i1.OAuthService }] });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWNvcmUvc3JjL2xpYi9zZXJ2aWNlL2F1dGgvb2lkYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQWMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEYsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBSzNELE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ3NCLFdBQThCLEVBQ3RCLE1BQWtCLEVBQ3RDLFlBQTBCO1FBRmQsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWM7SUFDakMsQ0FBQztJQUVKLGlCQUFpQixDQUFDLElBQThCO1FBQzlDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDbkQsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMvRSxDQUFDOztZQUFNLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHO1lBQ2hDLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDekIsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFlO1lBQzdCLGlDQUFpQyxFQUFFLEtBQUs7WUFDeEMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUc7WUFDN0QscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUc7WUFDakYsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFlBQVksRUFBRSxNQUFNO1lBQ3BCLEtBQUssRUFBRSxxQ0FBcUM7WUFDNUMsb0JBQW9CLEVBQUUsS0FBSztZQUMzQixZQUFZLEVBQUUsS0FBSztZQUNuQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLHFCQUFxQixFQUFFLEtBQUs7WUFDNUIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7U0FDakQsQ0FBQztRQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNoRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLDZCQUE2QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLE9BQVk7UUFDcEQsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ25DLElBQUksTUFBTSxHQUFRLFFBQVEsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQXNCLENBQUM7WUFDdEYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNaLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQzlCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDO2dCQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtvQkFDbkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzNCLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQy9CLENBQUMsQ0FBQztZQUNKLENBQUM7WUFFRCxNQUFNLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztZQUUvQixNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLE1BQU0sOEJBQThCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckosUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTlEVSxXQUFXLG1FQUdaLFdBQVc7bUhBSFYsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxRQUFROzswQkFDUixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnLCBPQXV0aE1vZHVsZUNvbmZpZywgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT3BlbklkQ29uZmlnIH0gZnJvbSAnLi4vYmFja2VuZC9iYWNrZW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb3JlQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL2NvcmUtY29uZmlnJztcbmltcG9ydCB7IENPUkVfQ09ORklHIH0gZnJvbSAnLi4vY29uZmlnL2NvcmUtY29uZmlnLnRva2Vucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE9pZGNTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBvQXV0aENvbmZpZzogT0F1dGhNb2R1bGVDb25maWcsXG4gICAgQEluamVjdChDT1JFX0NPTkZJRykgcHVibGljIGNvbmZpZzogQ29yZUNvbmZpZyxcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlXG4gICkge31cblxuICBpbml0T3BlbklkQ29ubmVjdChvaWRjOiBPcGVuSWRDb25maWcgfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPE9wZW5JZENvbmZpZyB8IHVuZGVmaW5lZD4ge1xuICAgIG9pZGMgPSB0aGlzLmNvbmZpZy5vaWRjID0gb2lkYyB8fCB0aGlzLmNvbmZpZy5vaWRjO1xuICAgIGlmIChvaWRjPy5ob3N0KSB7XG4gICAgICBvaWRjLmhvc3QgPSBvaWRjLmhvc3QuZW5kc1dpdGgoJy8nKSA/IG9pZGMuaG9zdC5zdWJzdHJpbmcoMCwgLTEpIDogb2lkYy5ob3N0O1xuICAgIH0gZWxzZSByZXR1cm4gb2YodW5kZWZpbmVkKTtcblxuICAgIHRoaXMub0F1dGhDb25maWcucmVzb3VyY2VTZXJ2ZXIgPSB7XG4gICAgICBzZW5kQWNjZXNzVG9rZW46IHRydWUsXG4gICAgICBhbGxvd2VkVXJsczogW29pZGMuaG9zdF1cbiAgICB9O1xuXG4gICAgY29uc3QgYXV0aENvbmZpZzogQXV0aENvbmZpZyA9IHtcbiAgICAgIHN0cmljdERpc2NvdmVyeURvY3VtZW50VmFsaWRhdGlvbjogZmFsc2UsXG4gICAgICBpc3N1ZXI6IG9pZGMuaXNzdWVyLFxuICAgICAgcmVkaXJlY3RVcmk6IG9pZGMucmVkaXJlY3RVcmkgfHwgd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvJyxcbiAgICAgIHBvc3RMb2dvdXRSZWRpcmVjdFVyaTogb2lkYy5wb3N0TG9nb3V0UmVkaXJlY3RVcmkgfHwgd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvJyxcbiAgICAgIGNsaWVudElkOiBvaWRjLmNsaWVudElkLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnY29kZScsXG4gICAgICBzY29wZTogJ29wZW5pZCBwcm9maWxlIGVtYWlsIG9mZmxpbmVfYWNjZXNzJyxcbiAgICAgIHNob3dEZWJ1Z0luZm9ybWF0aW9uOiBmYWxzZSxcbiAgICAgIHJlcXVpcmVIdHRwczogZmFsc2UsXG4gICAgICBkaXNhYmxlQXRIYXNoQ2hlY2s6IHRydWUsXG4gICAgICBzZXNzaW9uQ2hlY2tJbnRlcnZhbGw6IDYwMDAwLFxuICAgICAgc2Vzc2lvbkNoZWNrc0VuYWJsZWQ6IHRydWUsXG4gICAgICBjbGVhckhhc2hBZnRlckxvZ2luOiBmYWxzZSxcbiAgICAgIHNpbGVudFJlZnJlc2hUaW1lb3V0OiA1MDAwIC8vIEZvciBmYXN0ZXIgdGVzdGluZ1xuICAgIH07XG5cbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUoYXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2Uuc2V0dXBBdXRvbWF0aWNTaWxlbnRSZWZyZXNoKCk7XG4gICAgcmV0dXJuIGZyb20odGhpcy5vYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50QW5kTG9naW4oKSkucGlwZShtYXAoKCkgPT4gdGhpcy5jb25maWcub2lkYykpO1xuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvZ091dCgpO1xuICB9XG5cbiAgc2V0dXBDb29raWUodmlld2VyOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgaGVhZGVyczogYW55KSB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICBsZXQgaWZyYW1lOiBhbnkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5ID4gaWZyYW1lI19fb2lkYycpIGFzIEhUTUxJRnJhbWVFbGVtZW50O1xuICAgICAgaWYgKCFpZnJhbWUpIHtcbiAgICAgICAgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG4gICAgICAgIGlmcmFtZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICBpZnJhbWUuaWQgPSAnX19vaWRjJztcbiAgICAgICAgaWZyYW1lLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICBpZnJhbWUuc3Vic2NyaWJlci5uZXh0KHt9KTtcbiAgICAgICAgICBpZnJhbWUuc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBpZnJhbWUuc3Vic2NyaWJlciA9IHN1YnNjcmliZXI7XG5cbiAgICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ3NyYycsIGAke3ZpZXdlcn0vZG93bmxvYWQ/c2V0Q29va2llPS8mcGF0aD0ke2VuY29kZVVSSUNvbXBvbmVudChwYXRoKX0maGVhZGVycz0ke2VuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShoZWFkZXJzKSl9YCk7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
// enumeration of API endpoints provided by the backend
|
|
2
|
-
export var ApiBase;
|
|
3
|
-
(function (ApiBase) {
|
|
4
|
-
ApiBase["core"] = "api";
|
|
5
|
-
ApiBase["apiWeb"] = "api-web/api";
|
|
6
|
-
ApiBase["predict"] = "predict-api/api";
|
|
7
|
-
// TODO: all custom services are deployed using this base
|
|
8
|
-
ApiBase["custom"] = "custom";
|
|
9
|
-
ApiBase["none"] = "";
|
|
10
|
-
})(ApiBase || (ApiBase = {}));
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2UvYmFja2VuZC9hcGkuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsTUFBTSxDQUFOLElBQVksT0FPWDtBQVBELFdBQVksT0FBTztJQUNqQix1QkFBWSxDQUFBO0lBQ1osaUNBQXNCLENBQUE7SUFDdEIsc0NBQTJCLENBQUE7SUFDM0IseURBQXlEO0lBQ3pELDRCQUFpQixDQUFBO0lBQ2pCLG9CQUFTLENBQUE7QUFDWCxDQUFDLEVBUFcsT0FBTyxLQUFQLE9BQU8sUUFPbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlbnVtZXJhdGlvbiBvZiBBUEkgZW5kcG9pbnRzIHByb3ZpZGVkIGJ5IHRoZSBiYWNrZW5kXG5leHBvcnQgZW51bSBBcGlCYXNlIHtcbiAgY29yZSA9ICdhcGknLFxuICBhcGlXZWIgPSAnYXBpLXdlYi9hcGknLFxuICBwcmVkaWN0ID0gJ3ByZWRpY3QtYXBpL2FwaScsXG4gIC8vIFRPRE86IGFsbCBjdXN0b20gc2VydmljZXMgYXJlIGRlcGxveWVkIHVzaW5nIHRoaXMgYmFzZVxuICBjdXN0b20gPSAnY3VzdG9tJyxcbiAgbm9uZSA9ICcnXG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2UvYmFja2VuZC9iYWNrZW5kLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5leHBvcnQgaW50ZXJmYWNlIE9wZW5JZENvbmZpZyB7XG4gIGhvc3Q6IHN0cmluZztcbiAgdGVuYW50OiBzdHJpbmc7XG4gIGlzc3Vlcjogc3RyaW5nO1xuICBjbGllbnRJZDogc3RyaW5nO1xuICAvLyBVUkwgb2YgdGhlIFNQQSB0byByZWRpcmVjdCB0aGUgdXNlciB0byBhZnRlciBsb2dpblxuICByZWRpcmVjdFVyaT86IHN0cmluZztcbiAgcG9zdExvZ291dFJlZGlyZWN0VXJpPzogc3RyaW5nO1xufVxuLyoqXG4gKiBIdHRwT3B0aW9ucyBmb3IgaHR0cCByZXF1ZXN0XG4gKiBAcGFyYW0gb2JzZXJ2ZTogJ2JvZHknIHwgJ2V2ZW50cycgfCAncmVzcG9uc2UnXG4gKiBAcGFyYW0gcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIHwgJ2Jsb2InIHwgJ2pzb24nIHwgJ3RleHQnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cE9wdGlvbnMge1xuICBoZWFkZXJzPzpcbiAgICB8IEh0dHBIZWFkZXJzXG4gICAgfCB7XG4gICAgICAgIFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgfTtcbiAgb2JzZXJ2ZT86IGFueTtcbiAgcGFyYW1zPzpcbiAgICB8IEh0dHBQYXJhbXNcbiAgICB8IHtcbiAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgIH07XG4gIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgcmVzcG9uc2VUeXBlPzogYW55O1xuICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBEZWxldGVPcHRpb25zIGV4dGVuZHMgSHR0cE9wdGlvbnMge1xuICBib2R5PzogYW55O1xufVxuIl19
|