@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.
Files changed (105) hide show
  1. package/fesm2022/yuuvis-client-core.mjs +773 -645
  2. package/fesm2022/yuuvis-client-core.mjs.map +1 -1
  3. package/index.d.ts +7 -4
  4. package/lib/model/object-flavor.interface.d.ts +4 -1
  5. package/lib/provide.client.core.d.ts +58 -0
  6. package/lib/service/backend/backend.service.d.ts +0 -1
  7. package/lib/service/config/config.service.d.ts +0 -8
  8. package/lib/service/core-init/core-init.service.d.ts +1 -7
  9. package/lib/service/core-init/translate-json-loader.d.ts +1 -1
  10. package/lib/service/dms/dms.service.d.ts +2 -1
  11. package/lib/service/object-config/object-config.interface.d.ts +1 -1
  12. package/lib/service/object-form/object-form-translate.service.d.ts +15 -0
  13. package/lib/service/{system → object-form}/object-form.interface.d.ts +2 -2
  14. package/lib/service/object-form/object-form.model.d.ts +45 -0
  15. package/lib/service/system/system.interface.d.ts +1 -1
  16. package/lib/service/system/system.service.d.ts +1 -1
  17. package/lib/service/toast/toast.interface.d.ts +8 -0
  18. package/lib/service/toast/toast.service.d.ts +17 -0
  19. package/lib/service/toast/toast.styles.d.ts +1 -0
  20. package/lib/service/upload/upload.interface.d.ts +1 -1
  21. package/lib/service/user/user.providers.d.ts +4 -0
  22. package/lib/service/user/user.service.d.ts +2 -4
  23. package/package.json +7 -11
  24. package/esm2022/index.mjs +0 -69
  25. package/esm2022/lib/client-core.module.mjs +0 -117
  26. package/esm2022/lib/client-core.shared.module.mjs +0 -18
  27. package/esm2022/lib/common/pipes/filesize.pipe.mjs +0 -37
  28. package/esm2022/lib/common/pipes/index.mjs +0 -6
  29. package/esm2022/lib/common/pipes/keys.pipe.mjs +0 -17
  30. package/esm2022/lib/common/pipes/locale-date.pipe.mjs +0 -45
  31. package/esm2022/lib/common/pipes/locale-number.pipe.mjs +0 -115
  32. package/esm2022/lib/common/pipes/safe-html.pipe.mjs +0 -44
  33. package/esm2022/lib/common/services/native-notifications.interface.mjs +0 -2
  34. package/esm2022/lib/common/services/native-notifications.mjs +0 -40
  35. package/esm2022/lib/model/dms-object.interface.mjs +0 -2
  36. package/esm2022/lib/model/dms-object.model.mjs +0 -79
  37. package/esm2022/lib/model/object-flavor.interface.mjs +0 -2
  38. package/esm2022/lib/model/range-value.interface.mjs +0 -2
  39. package/esm2022/lib/model/yuv-error.model.mjs +0 -37
  40. package/esm2022/lib/model/yuv-user.model.mjs +0 -38
  41. package/esm2022/lib/service/audit/audit.interface.mjs +0 -2
  42. package/esm2022/lib/service/audit/audit.service.mjs +0 -135
  43. package/esm2022/lib/service/auth/auth.interceptor.mjs +0 -50
  44. package/esm2022/lib/service/auth/auth.interface.mjs +0 -7
  45. package/esm2022/lib/service/auth/auth.service.mjs +0 -130
  46. package/esm2022/lib/service/auth/oidc.service.mjs +0 -81
  47. package/esm2022/lib/service/backend/api.enum.mjs +0 -11
  48. package/esm2022/lib/service/backend/backend.interface.mjs +0 -2
  49. package/esm2022/lib/service/backend/backend.service.mjs +0 -206
  50. package/esm2022/lib/service/bpm/bpm.interface.mjs +0 -8
  51. package/esm2022/lib/service/bpm/bpm.service.mjs +0 -51
  52. package/esm2022/lib/service/cache/app-cache.service.mjs +0 -51
  53. package/esm2022/lib/service/catalog/catalog.interface.mjs +0 -2
  54. package/esm2022/lib/service/catalog/catalog.service.mjs +0 -13
  55. package/esm2022/lib/service/clipboard/clipboard.interface.mjs +0 -2
  56. package/esm2022/lib/service/clipboard/clipboard.service.mjs +0 -99
  57. package/esm2022/lib/service/config/config.interface.mjs +0 -6
  58. package/esm2022/lib/service/config/config.service.mjs +0 -115
  59. package/esm2022/lib/service/config/core-config.mjs +0 -20
  60. package/esm2022/lib/service/config/core-config.tokens.mjs +0 -9
  61. package/esm2022/lib/service/connection/connection.service.mjs +0 -36
  62. package/esm2022/lib/service/connection/offline.interceptor.mjs +0 -28
  63. package/esm2022/lib/service/core-init/core-init.service.mjs +0 -29
  64. package/esm2022/lib/service/core-init/missing-translation-handler.mjs +0 -10
  65. package/esm2022/lib/service/core-init/translate-json-loader.mjs +0 -117
  66. package/esm2022/lib/service/device/device.interface.mjs +0 -6
  67. package/esm2022/lib/service/device/device.service.mjs +0 -144
  68. package/esm2022/lib/service/dms/dms.service.interface.mjs +0 -2
  69. package/esm2022/lib/service/dms/dms.service.mjs +0 -440
  70. package/esm2022/lib/service/event/event.interface.mjs +0 -2
  71. package/esm2022/lib/service/event/event.service.mjs +0 -38
  72. package/esm2022/lib/service/event/events.mjs +0 -14
  73. package/esm2022/lib/service/idm/idm.interface.mjs +0 -2
  74. package/esm2022/lib/service/idm/idm.service.mjs +0 -34
  75. package/esm2022/lib/service/logger/logger-console.service.mjs +0 -73
  76. package/esm2022/lib/service/logger/logger.interface.mjs +0 -2
  77. package/esm2022/lib/service/logger/logger.mjs +0 -27
  78. package/esm2022/lib/service/notification/notification.service.mjs +0 -131
  79. package/esm2022/lib/service/object-config/object-config.interface.mjs +0 -2
  80. package/esm2022/lib/service/object-config/object-config.service.mjs +0 -233
  81. package/esm2022/lib/service/pending-changes/pending-changes-component.interface.mjs +0 -5
  82. package/esm2022/lib/service/pending-changes/pending-changes-guard.service.mjs +0 -25
  83. package/esm2022/lib/service/pending-changes/pending-changes.service.mjs +0 -123
  84. package/esm2022/lib/service/prediction/prediction.interface.mjs +0 -2
  85. package/esm2022/lib/service/prediction/prediction.service.mjs +0 -60
  86. package/esm2022/lib/service/retention/retention.interface.mjs +0 -2
  87. package/esm2022/lib/service/retention/retention.service.mjs +0 -65
  88. package/esm2022/lib/service/search/search.service.interface.mjs +0 -39
  89. package/esm2022/lib/service/search/search.service.mjs +0 -261
  90. package/esm2022/lib/service/search/search.utils.mjs +0 -142
  91. package/esm2022/lib/service/session-storage/session-storage.service.mjs +0 -50
  92. package/esm2022/lib/service/system/object-form.interface.mjs +0 -2
  93. package/esm2022/lib/service/system/system.enum.mjs +0 -167
  94. package/esm2022/lib/service/system/system.interface.mjs +0 -2
  95. package/esm2022/lib/service/system/system.service.mjs +0 -597
  96. package/esm2022/lib/service/upload/upload.interface.mjs +0 -2
  97. package/esm2022/lib/service/upload/upload.service.mjs +0 -228
  98. package/esm2022/lib/service/user/user-storage.service.mjs +0 -38
  99. package/esm2022/lib/service/user/user.service.mjs +0 -211
  100. package/esm2022/lib/util/utils.helper.enum.mjs +0 -15
  101. package/esm2022/lib/util/utils.mjs +0 -373
  102. package/esm2022/yuuvis-client-core.mjs +0 -5
  103. package/lib/client-core.module.d.ts +0 -20
  104. package/lib/client-core.shared.module.d.ts +0 -10
  105. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWNvcmUvc3JjL2xpYi9zZXJ2aWNlL2F1dGgvb2lkYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQWMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEYsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBSzNELE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ3NCLFdBQThCLEVBQ3RCLE1BQWtCLEVBQ3RDLFlBQTBCO1FBRmQsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWM7SUFDakMsQ0FBQztJQUVKLGlCQUFpQixDQUFDLElBQThCO1FBQzlDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDbkQsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVB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VSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxRQUFROzswQkFDUixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnLCBPQXV0aE1vZHVsZUNvbmZpZywgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT3BlbklkQ29uZmlnIH0gZnJvbSAnLi4vYmFja2VuZC9iYWNrZW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb3JlQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL2NvcmUtY29uZmlnJztcbmltcG9ydCB7IENPUkVfQ09ORklHIH0gZnJvbSAnLi4vY29uZmlnL2NvcmUtY29uZmlnLnRva2Vucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE9pZGNTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBvQXV0aENvbmZpZzogT0F1dGhNb2R1bGVDb25maWcsXG4gICAgQEluamVjdChDT1JFX0NPTkZJRykgcHVibGljIGNvbmZpZzogQ29yZUNvbmZpZyxcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlXG4gICkge31cblxuICBpbml0T3BlbklkQ29ubmVjdChvaWRjOiBPcGVuSWRDb25maWcgfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPE9wZW5JZENvbmZpZyB8IHVuZGVmaW5lZD4ge1xuICAgIG9pZGMgPSB0aGlzLmNvbmZpZy5vaWRjID0gb2lkYyB8fCB0aGlzLmNvbmZpZy5vaWRjO1xuICAgIGlmIChvaWRjPy5ob3N0KSB7XG4gICAgICBvaWRjLmhvc3QgPSBvaWRjLmhvc3QuZW5kc1dpdGgoJy8nKSA/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