bways-report 0.1.8 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +463 -316
- package/esm2022/lib/core/config/bways-report-config.mjs +31 -32
- package/esm2022/lib/core/models/index.mjs +1 -1
- package/esm2022/lib/core/models/report-api-endpoint.model.mjs +8 -0
- package/esm2022/lib/core/models/report-component.model.mjs +1 -1
- package/esm2022/lib/core/models/report-datasource.model.mjs +1 -1
- package/esm2022/lib/core/services/index.mjs +2 -1
- package/esm2022/lib/core/services/report-api-execution.service.mjs +210 -0
- package/esm2022/lib/core/services/report-data-discovery.service.mjs +76 -4
- package/esm2022/lib/core/services/report-session-context.service.mjs +72 -3
- package/esm2022/lib/core/tokens/designer-config.token.mjs +4 -0
- package/esm2022/lib/core/tokens/reporting-config.token.mjs +1 -1
- package/esm2022/lib/core/utils/report-endpoint.util.mjs +22 -0
- package/esm2022/lib/core/utils/report-request-scope.mjs +48 -0
- package/esm2022/lib/data-access/adapters/endpoint-datasource.adapter.mjs +31 -1
- package/esm2022/lib/data-access/adapters/endpoint-lookup.adapter.mjs +27 -2
- package/esm2022/lib/data-access/adapters/endpoint-masterdata.adapter.mjs +5 -2
- package/esm2022/lib/data-access/adapters/endpoint-persistence.adapter.mjs +30 -14
- package/esm2022/lib/data-access/adapters/endpoint-schema-discovery.adapter.mjs +32 -28
- package/esm2022/lib/data-access/adapters/endpoint-tokens.mjs +1 -1
- package/esm2022/lib/data-access/adapters/http-datasource.adapter.mjs +4 -37
- package/esm2022/lib/data-access/adapters/http-lookup.adapter.mjs +28 -51
- package/esm2022/lib/data-access/adapters/http-persistence.adapter.mjs +43 -194
- package/esm2022/lib/data-access/adapters/http-schema-discovery.adapter.mjs +17 -65
- package/esm2022/lib/data-access/adapters/index.mjs +1 -1
- package/esm2022/lib/data-access/adapters/local-storage-persistence.adapter.mjs +13 -4
- package/esm2022/lib/data-access/adapters/report-id-availability.mjs +20 -0
- package/esm2022/lib/data-access/adapters/session-headers.mjs +11 -0
- package/esm2022/lib/data-access/contracts/index.mjs +1 -1
- package/esm2022/lib/data-access/contracts/lookup.contract.mjs +1 -1
- package/esm2022/lib/data-access/contracts/report-persistence.contract.mjs +13 -1
- package/esm2022/lib/features/designer/components/component-palette/component-palette.component.mjs +536 -6
- package/esm2022/lib/features/designer/components/design-canvas/design-canvas.component.mjs +55 -17
- package/esm2022/lib/features/designer/components/dialogs/report-saved-dialog.component.mjs +546 -119
- package/esm2022/lib/features/designer/components/property-editor/parameter-binding-editor.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor-action.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor-datasource.component.mjs +142 -8
- package/esm2022/lib/features/designer/components/property-editor/property-editor-general.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor-grid.component.mjs +129 -28
- package/esm2022/lib/features/designer/components/property-editor/property-editor-layout.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor-report.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor-validation.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor.component.mjs +27 -13
- package/esm2022/lib/features/designer/components/toolbar/designer-toolbar.component.mjs +54 -32
- package/esm2022/lib/features/designer/designer.component.mjs +109 -75
- package/esm2022/lib/features/designer/rpt-report-designer.component.mjs +10 -4
- package/esm2022/lib/features/designer/services/designer-config.service.mjs +56 -0
- package/esm2022/lib/features/designer/services/designer-endpoints.service.mjs +155 -0
- package/esm2022/lib/features/designer/services/designer-state.service.mjs +3 -2
- package/esm2022/lib/features/designer/utilities/canvas-layout.util.mjs +2 -1
- package/esm2022/lib/features/embed/bways-report-builder.component.mjs +3 -3
- package/esm2022/lib/features/export/services/report-export.service.mjs +11 -6
- package/esm2022/lib/features/persistence/services/report-store.service.mjs +78 -23
- package/esm2022/lib/features/persistence/services/schema-validator.service.mjs +59 -3
- package/esm2022/lib/features/routing/components/routed-report-designer.component.mjs +12 -17
- package/esm2022/lib/features/routing/components/routed-report-runtime.component.mjs +6 -4
- package/esm2022/lib/features/routing/report-routes.mjs +6 -6
- package/esm2022/lib/features/routing/resolvers/report-route-identifier.mjs +5 -0
- package/esm2022/lib/features/routing/resolvers/report.resolver.mjs +3 -2
- package/esm2022/lib/features/runtime/dynamic-renderer.component.mjs +23 -4
- package/esm2022/lib/features/runtime/report-execution.service.mjs +36 -6
- package/esm2022/lib/features/runtime/report-grid-bridge.component.mjs +54 -11
- package/esm2022/lib/features/runtime/report-runtime.component.mjs +105 -68
- package/esm2022/lib/features/runtime/rpt-report.component.mjs +50 -42
- package/esm2022/lib/primitives/components/chart-bridge/report-chart-bridge.component.mjs +7 -2
- package/esm2022/lib/primitives/components/dropdown/rpt-dropdown.component.mjs +16 -7
- package/esm2022/lib/primitives/components/icon/rpt-icon.component.mjs +53 -1
- package/esm2022/lib/primitives/components/index.mjs +2 -1
- package/esm2022/lib/primitives/components/radio/rpt-radio.component.mjs +428 -0
- package/esm2022/lib/primitives/register-builtins.mjs +51 -2
- package/esm2022/lib/provide-reporting.mjs +11 -29
- package/fesm2022/bways-report.mjs +3745 -1281
- package/fesm2022/bways-report.mjs.map +1 -1
- package/lib/core/config/bways-report-config.d.ts +27 -5
- package/lib/core/models/index.d.ts +2 -1
- package/lib/core/models/report-api-endpoint.model.d.ts +30 -0
- package/lib/core/models/report-component.model.d.ts +16 -4
- package/lib/core/models/report-datasource.model.d.ts +21 -2
- package/lib/core/services/index.d.ts +1 -0
- package/lib/core/services/report-api-execution.service.d.ts +41 -0
- package/lib/core/services/report-data-discovery.service.d.ts +23 -1
- package/lib/core/services/report-session-context.service.d.ts +9 -0
- package/lib/core/tokens/designer-config.token.d.ts +4 -0
- package/lib/core/tokens/reporting-config.token.d.ts +4 -0
- package/lib/core/utils/report-endpoint.util.d.ts +12 -0
- package/lib/core/utils/report-request-scope.d.ts +14 -0
- package/lib/data-access/adapters/endpoint-datasource.adapter.d.ts +2 -0
- package/lib/data-access/adapters/endpoint-lookup.adapter.d.ts +1 -0
- package/lib/data-access/adapters/endpoint-persistence.adapter.d.ts +6 -2
- package/lib/data-access/adapters/endpoint-schema-discovery.adapter.d.ts +4 -2
- package/lib/data-access/adapters/endpoint-tokens.d.ts +7 -0
- package/lib/data-access/adapters/http-datasource.adapter.d.ts +1 -3
- package/lib/data-access/adapters/http-lookup.adapter.d.ts +3 -4
- package/lib/data-access/adapters/http-persistence.adapter.d.ts +11 -16
- package/lib/data-access/adapters/http-schema-discovery.adapter.d.ts +3 -5
- package/lib/data-access/adapters/index.d.ts +1 -1
- package/lib/data-access/adapters/local-storage-persistence.adapter.d.ts +2 -2
- package/lib/data-access/adapters/report-id-availability.d.ts +6 -0
- package/lib/data-access/adapters/session-headers.d.ts +3 -0
- package/lib/data-access/contracts/index.d.ts +1 -0
- package/lib/data-access/contracts/lookup.contract.d.ts +3 -0
- package/lib/data-access/contracts/report-persistence.contract.d.ts +16 -1
- package/lib/features/designer/components/component-palette/component-palette.component.d.ts +16 -0
- package/lib/features/designer/components/design-canvas/design-canvas.component.d.ts +2 -0
- package/lib/features/designer/components/dialogs/report-saved-dialog.component.d.ts +37 -5
- package/lib/features/designer/components/property-editor/property-editor-datasource.component.d.ts +21 -3
- package/lib/features/designer/components/property-editor/property-editor-grid.component.d.ts +20 -7
- package/lib/features/designer/components/property-editor/property-editor.component.d.ts +2 -1
- package/lib/features/designer/components/toolbar/designer-toolbar.component.d.ts +7 -1
- package/lib/features/designer/designer.component.d.ts +16 -2
- package/lib/features/designer/rpt-report-designer.component.d.ts +5 -1
- package/lib/features/designer/services/designer-config.service.d.ts +13 -0
- package/lib/features/designer/services/designer-endpoints.service.d.ts +25 -0
- package/lib/features/persistence/services/report-store.service.d.ts +15 -1
- package/lib/features/persistence/services/schema-validator.service.d.ts +2 -0
- package/lib/features/routing/resolvers/report-route-identifier.d.ts +2 -0
- package/lib/features/runtime/report-execution.service.d.ts +4 -0
- package/lib/features/runtime/report-grid-bridge.component.d.ts +4 -1
- package/lib/features/runtime/report-runtime.component.d.ts +14 -1
- package/lib/features/runtime/rpt-report.component.d.ts +5 -0
- package/lib/primitives/components/chart-bridge/report-chart-bridge.component.d.ts +3 -1
- package/lib/primitives/components/index.d.ts +2 -0
- package/lib/primitives/components/radio/rpt-radio.component.d.ts +77 -0
- package/package.json +2 -1
|
@@ -1,217 +1,66 @@
|
|
|
1
|
+
import { reportIdAvailability, reportIdInspection } from './report-id-availability';
|
|
2
|
+
import { ReportSessionContextService } from '../../core/services/report-session-context.service';
|
|
3
|
+
import { reportSessionHeaders } from './session-headers';
|
|
1
4
|
import { inject, Injectable } from '@angular/core';
|
|
2
5
|
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import {
|
|
6
|
+
import { throwError } from 'rxjs';
|
|
4
7
|
import { catchError } from 'rxjs/operators';
|
|
5
8
|
import { ReportPersistenceAdapter } from '../contracts/report-persistence.contract';
|
|
6
9
|
import { REPORTING_CONFIG } from '../../core/tokens/reporting-config.token';
|
|
7
10
|
import * as i0 from "@angular/core";
|
|
8
|
-
/**
|
|
9
|
-
* Built-in HTTP adapter for report definitions persistence.
|
|
10
|
-
* Connects to NestJS `/api/reporting/reports` endpoints.
|
|
11
|
-
* Includes in-memory mock fallback when the remote backend is unreachable.
|
|
12
|
-
*/
|
|
11
|
+
/** HTTP-only persistence. Use withLocalStorage() explicitly for offline demos. */
|
|
13
12
|
export class HttpReportPersistenceAdapter extends ReportPersistenceAdapter {
|
|
13
|
+
session = inject(ReportSessionContextService, { optional: true });
|
|
14
|
+
get headers() { return reportSessionHeaders(this.session?.getCurrentSessionContext() ?? {}); }
|
|
14
15
|
http = inject(HttpClient, { optional: true });
|
|
15
16
|
config = inject(REPORTING_CONFIG, { optional: true });
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
this.
|
|
17
|
+
checkId(reportId) {
|
|
18
|
+
if (!this.http || !this.config?.apiBaseUrl)
|
|
19
|
+
return throwError(() => new Error('HTTP report storage is not configured.'));
|
|
20
|
+
const url = this.config.apiBaseUrl.replace(/\/+$/, '') + '/reports/' + encodeURIComponent(reportId) + '/availability';
|
|
21
|
+
return reportIdAvailability(this.http, url, this.headers, () => super.checkId(reportId));
|
|
20
22
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
.pipe(catchError((err) => {
|
|
27
|
-
console.warn(`[HttpReportPersistenceAdapter] Failed to load remote report ${reportId}:`, err);
|
|
28
|
-
return of(this.getMockReport(reportId));
|
|
29
|
-
}));
|
|
30
|
-
}
|
|
31
|
-
return of(this.getMockReport(reportId));
|
|
23
|
+
inspectId(reportId) {
|
|
24
|
+
if (!this.http || !this.config?.apiBaseUrl)
|
|
25
|
+
return throwError(() => new Error('HTTP report storage is not configured.'));
|
|
26
|
+
const url = this.config.apiBaseUrl.replace(/\/+$/, '') + '/reports/' + encodeURIComponent(reportId) + '/availability';
|
|
27
|
+
return reportIdInspection(this.http, url, this.headers, () => super.inspectId(reportId));
|
|
32
28
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (baseUrl && this.http) {
|
|
36
|
-
const payload = {
|
|
37
|
-
id: report.id,
|
|
38
|
-
name: report.name,
|
|
39
|
-
description: report.description,
|
|
40
|
-
category: report.category,
|
|
41
|
-
version: report.version,
|
|
42
|
-
isPublished: report.isPublished ?? false,
|
|
43
|
-
definition: report,
|
|
44
|
-
};
|
|
45
|
-
return this.http
|
|
46
|
-
.post(`${baseUrl}/reports`, payload)
|
|
47
|
-
.pipe(catchError((err) => {
|
|
48
|
-
console.warn('[HttpReportPersistenceAdapter] Failed to save remote report, storing in mock:', err);
|
|
49
|
-
this.mockStore.set(report.id, { ...report, updatedAt: new Date().toISOString() });
|
|
50
|
-
return of(report);
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
this.mockStore.set(report.id, { ...report, updatedAt: new Date().toISOString() });
|
|
54
|
-
return of(report);
|
|
29
|
+
load(id) {
|
|
30
|
+
return this.request('GET', '/' + encodeURIComponent(id));
|
|
55
31
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
})
|
|
63
|
-
}
|
|
64
|
-
return of(this.getMockSummaries());
|
|
32
|
+
save(report, options) {
|
|
33
|
+
return this.request('POST', '', {
|
|
34
|
+
id: report.id, name: report.name, description: report.description,
|
|
35
|
+
category: report.category, version: report.version,
|
|
36
|
+
isPublished: report.isPublished ?? false, definition: report,
|
|
37
|
+
...(options?.createOnly ? { createOnly: true } : {}),
|
|
38
|
+
...(options?.expectedVersion !== undefined ? { expectedVersion: options.expectedVersion } : {}),
|
|
39
|
+
});
|
|
65
40
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (baseUrl && this.http) {
|
|
69
|
-
return this.http
|
|
70
|
-
.delete(`${baseUrl}/reports/${encodeURIComponent(reportId)}`)
|
|
71
|
-
.pipe(catchError((err) => {
|
|
72
|
-
console.warn(`[HttpReportPersistenceAdapter] Failed to delete remote report ${reportId}:`, err);
|
|
73
|
-
this.mockStore.delete(reportId);
|
|
74
|
-
return of(undefined);
|
|
75
|
-
}));
|
|
76
|
-
}
|
|
77
|
-
this.mockStore.delete(reportId);
|
|
78
|
-
return of(undefined);
|
|
41
|
+
list() {
|
|
42
|
+
return this.request('GET', '');
|
|
79
43
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (baseUrl && this.http) {
|
|
83
|
-
return this.http
|
|
84
|
-
.post(`${baseUrl}/reports/${encodeURIComponent(reportId)}/publish`, { version })
|
|
85
|
-
.pipe(catchError((err) => {
|
|
86
|
-
console.warn(`[HttpReportPersistenceAdapter] Failed to publish remote report ${reportId}:`, err);
|
|
87
|
-
const r = this.mockStore.get(reportId);
|
|
88
|
-
if (r) {
|
|
89
|
-
r.isPublished = true;
|
|
90
|
-
r.version = version;
|
|
91
|
-
}
|
|
92
|
-
return of(undefined);
|
|
93
|
-
}));
|
|
94
|
-
}
|
|
95
|
-
const r = this.mockStore.get(reportId);
|
|
96
|
-
if (r) {
|
|
97
|
-
r.isPublished = true;
|
|
98
|
-
r.version = version;
|
|
99
|
-
}
|
|
100
|
-
return of(undefined);
|
|
44
|
+
delete(id) {
|
|
45
|
+
return this.request('DELETE', '/' + encodeURIComponent(id));
|
|
101
46
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (existing)
|
|
105
|
-
return existing;
|
|
106
|
-
const fallback = {
|
|
107
|
-
id,
|
|
108
|
-
name: 'Default Report',
|
|
109
|
-
schemaVersion: 1,
|
|
110
|
-
version: 1,
|
|
111
|
-
isPublished: true,
|
|
112
|
-
components: [],
|
|
113
|
-
parameters: [],
|
|
114
|
-
dataSources: [],
|
|
115
|
-
layout: {
|
|
116
|
-
columns: 12,
|
|
117
|
-
gap: 16,
|
|
118
|
-
padding: 16,
|
|
119
|
-
},
|
|
120
|
-
};
|
|
121
|
-
this.mockStore.set(id, fallback);
|
|
122
|
-
return fallback;
|
|
47
|
+
publish(id, version) {
|
|
48
|
+
return this.request('POST', '/' + encodeURIComponent(id) + '/publish', { version });
|
|
123
49
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
isPublished: Boolean(r.isPublished),
|
|
132
|
-
updatedAt: r.updatedAt,
|
|
50
|
+
request(method, path, body) {
|
|
51
|
+
if (!this.http || !this.config?.apiBaseUrl) {
|
|
52
|
+
return throwError(() => new Error('[bways-report] HTTP persistence requires HttpClient and apiBaseUrl. Use withLocalStorage() for offline storage.'));
|
|
53
|
+
}
|
|
54
|
+
return this.http.request(method, this.config.apiBaseUrl.replace(/\/+$/, '') + '/reports' + path, { body, headers: this.headers }).pipe(catchError(err => {
|
|
55
|
+
const message = err?.error?.message || err?.message || 'Report persistence failed';
|
|
56
|
+
return throwError(() => new Error(Array.isArray(message) ? message.join(', ') : message));
|
|
133
57
|
}));
|
|
134
58
|
}
|
|
135
|
-
|
|
136
|
-
const seed = {
|
|
137
|
-
id: 'sales-summary',
|
|
138
|
-
name: 'Sales Register & Analysis',
|
|
139
|
-
description: 'Comprehensive sales performance and invoice tracking',
|
|
140
|
-
category: 'Sales',
|
|
141
|
-
schemaVersion: 1,
|
|
142
|
-
version: 1,
|
|
143
|
-
isPublished: true,
|
|
144
|
-
parameters: [],
|
|
145
|
-
dataSources: [
|
|
146
|
-
{
|
|
147
|
-
id: 'ds-sales',
|
|
148
|
-
name: 'Sales Register SP',
|
|
149
|
-
endpoint: 'usp_GetSalesRegister',
|
|
150
|
-
method: 'STORED_PROCEDURE',
|
|
151
|
-
},
|
|
152
|
-
],
|
|
153
|
-
components: [
|
|
154
|
-
{
|
|
155
|
-
id: 'cmp-from-date',
|
|
156
|
-
key: 'fromDate',
|
|
157
|
-
type: 'date',
|
|
158
|
-
properties: { label: 'From Date', placeholder: 'dd/MM/yyyy' },
|
|
159
|
-
validation: {},
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
id: 'cmp-to-date',
|
|
163
|
-
key: 'toDate',
|
|
164
|
-
type: 'date',
|
|
165
|
-
properties: { label: 'To Date', placeholder: 'dd/MM/yyyy' },
|
|
166
|
-
validation: {},
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
id: 'cmp-customer',
|
|
170
|
-
key: 'customerId',
|
|
171
|
-
type: 'dropdown',
|
|
172
|
-
properties: {
|
|
173
|
-
label: 'Customer',
|
|
174
|
-
sourceType: 'table',
|
|
175
|
-
entityName: 'Customers',
|
|
176
|
-
valueField: 'customerId',
|
|
177
|
-
displayField: 'customerName',
|
|
178
|
-
},
|
|
179
|
-
validation: {},
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
id: 'cmp-grid',
|
|
183
|
-
key: 'salesGrid',
|
|
184
|
-
type: 'grid',
|
|
185
|
-
properties: {
|
|
186
|
-
dataSourceId: 'ds-sales',
|
|
187
|
-
pageSize: 25,
|
|
188
|
-
enableSorting: true,
|
|
189
|
-
enableFiltering: true,
|
|
190
|
-
columns: [
|
|
191
|
-
{ field: 'invoiceNo', headerText: 'Invoice #' },
|
|
192
|
-
{ field: 'date', headerText: 'Date' },
|
|
193
|
-
{ field: 'customer', headerText: 'Customer' },
|
|
194
|
-
{ field: 'amount', headerText: 'Amount', format: 'currency' },
|
|
195
|
-
{ field: 'status', headerText: 'Status' },
|
|
196
|
-
],
|
|
197
|
-
},
|
|
198
|
-
validation: {},
|
|
199
|
-
},
|
|
200
|
-
],
|
|
201
|
-
layout: {
|
|
202
|
-
columns: 12,
|
|
203
|
-
gap: 16,
|
|
204
|
-
padding: 16,
|
|
205
|
-
},
|
|
206
|
-
};
|
|
207
|
-
this.mockStore.set(seed.id, seed);
|
|
208
|
-
}
|
|
209
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpReportPersistenceAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpReportPersistenceAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
210
60
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpReportPersistenceAdapter });
|
|
211
61
|
}
|
|
212
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpReportPersistenceAdapter, decorators: [{
|
|
213
63
|
type: Injectable
|
|
214
|
-
}]
|
|
215
|
-
/** Convenience alias */
|
|
64
|
+
}] });
|
|
216
65
|
export const HttpPersistenceAdapter = HttpReportPersistenceAdapter;
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1wZXJzaXN0ZW5jZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYndheXMtcmVwb3J0L3NyYy9saWIvZGF0YS1hY2Nlc3MvYWRhcHRlcnMvaHR0cC1wZXJzaXN0ZW5jZS5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUs1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFHNUU7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSx3QkFBd0I7SUFDdkQsSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5QyxNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFdEQsU0FBUyxHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO0lBRWpFO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQWdCO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDO1FBQ3hDLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUks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LE9BQU8sRUFBRSxFQUFFO2FBQ1o7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO3dHQXpOVSw0QkFBNEI7NEdBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVTs7QUE2Tlgsd0JBQXdCO0FBQ3hCLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBSZXBvcnREZWZpbml0aW9uLFxuICBSZXBvcnRTdW1tYXJ5LFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVscy9yZXBvcnQtZGVmaW5pdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBSZXBvcnRQZXJzaXN0ZW5jZUFkYXB0ZXIgfSBmcm9tICcuLi9jb250cmFjdHMvcmVwb3J0LXBlcnNpc3RlbmNlLmNvbnRyYWN0JztcbmltcG9ydCB7IFJFUE9SVElOR19DT05GSUcgfSBmcm9tICcuLi8uLi9jb3JlL3Rva2Vucy9yZXBvcnRpbmctY29uZmlnLnRva2VuJztcbmltcG9ydCB7IFNhdmVSZXBvcnRSZXF1ZXN0RHRvIH0gZnJvbSAnLi4vY29udHJhY3RzL2FwaS1kdG9zJztcblxuLyoqXG4gKiBCdWlsdC1pbiBIVFRQIGFkYXB0ZXIgZm9yIHJlcG9ydCBkZWZpbml0aW9ucyBwZXJzaXN0ZW5jZS5cbiAqIENvbm5lY3RzIHRvIE5lc3RKUyBgL2FwaS9yZXBvcnRpbmcvcmVwb3J0c2AgZW5kcG9pbnRzLlxuICogSW5jbHVkZXMgaW4tbWVtb3J5IG1vY2sgZmFsbGJhY2sgd2hlbiB0aGUgcmVtb3RlIGJhY2tlbmQgaXMgdW5yZWFjaGFibGUuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwUmVwb3J0UGVyc2lzdGVuY2VBZGFwdGVyIGV4dGVuZHMgUmVwb3J0UGVyc2lzdGVuY2VBZGFwdGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KFJFUE9SVElOR19DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtb2NrU3RvcmUgPSBuZXcgTWFwPHN0cmluZywgUmVwb3J0RGVmaW5pdGlvbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc2VlZERlZmF1bHRNb2NrUmVwb3J0cygpO1xuICB9XG5cbiAgbG9hZChyZXBvcnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXBvcnREZWZpbml0aW9uPiB7XG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnPy5hcGlCYXNlVXJsO1xuICAgIGlmIChiYXNlVXJsICYmIHRoaXMuaHR0cCkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAuZ2V0PFJlcG9ydERlZmluaXRpb24+KGAke2Jhc2VVcmx9L3JlcG9ydHMvJHtlbmNvZGVVUklDb21wb25lbnQocmVwb3J0SWQpfWApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBbSHR0cFJlcG9ydFBlcnNpc3RlbmNlQWRhcHRlcl0gRmFpbGVkIHRvIGxvYWQgcmVtb3RlIHJlcG9ydCAke3JlcG9ydElkfTpgLCBlcnIpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuZ2V0TW9ja1JlcG9ydChyZXBvcnRJZCkpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvZih0aGlzLmdldE1vY2tSZXBvcnQocmVwb3J0SWQpKTtcbiAgfVxuXG4gIHNhdmUocmVwb3J0OiBSZXBvcnREZWZpbml0aW9uKTogT2JzZXJ2YWJsZTxSZXBvcnREZWZpbml0aW9uPiB7XG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnPy5hcGlCYXNlVXJsO1xuICAgIGlmIChiYXNlVXJsICYmIHRoaXMuaHR0cCkge1xuICAgICAgY29uc3QgcGF5bG9hZDogU2F2ZVJlcG9ydFJlcXVlc3REdG8gPSB7XG4gICAgICAgIGlkOiByZXBvcnQuaWQsXG4gICAgICAgIG5hbWU6IHJlcG9ydC5uYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbjogcmVwb3J0LmRlc2NyaXB0aW9uLFxuICAgICAgICBjYXRlZ29yeTogcmVwb3J0LmNhdGVnb3J5LFxuICAgICAgICB2ZXJzaW9uOiByZXBvcnQudmVyc2lvbixcbiAgICAgICAgaXNQdWJsaXNoZWQ6IHJlcG9ydC5pc1B1Ymxpc2hlZCA/PyBmYWxzZSxcbiAgICAgICAgZGVmaW5pdGlvbjogcmVwb3J0LFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAucG9zdDxSZXBvcnREZWZpbml0aW9uPihgJHtiYXNlVXJsfS9yZXBvcnRzYCwgcGF5bG9hZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1tIdHRwUmVwb3J0UGVyc2lzdGVuY2VBZGFwdGVyXSBGYWlsZWQgdG8gc2F2ZSByZW1vdGUgcmVwb3J0LCBzdG9yaW5nIGluIG1vY2s6JywgZXJyKTtcbiAgICAgICAgICAgIHRoaXMubW9ja1N0b3JlLnNldChyZXBvcnQuaWQsIHsgLi4ucmVwb3J0LCB1cGRhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSB9KTtcbiAgICAgICAgICAgIHJldHVybiBvZihyZXBvcnQpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5tb2NrU3RvcmUuc2V0KHJlcG9ydC5pZCwgeyAuLi5yZXBvcnQsIHVwZGF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpIH0pO1xuICAgIHJldHVybiBvZihyZXBvcnQpO1xuICB9XG5cbiAgbGlzdCgpOiBPYnNlcnZhYmxlPFJlcG9ydFN1bW1hcnlbXT4ge1xuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmNvbmZpZz8uYXBpQmFzZVVybDtcbiAgICBpZiAoYmFzZVVybCAmJiB0aGlzLmh0dHApIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlcG9ydFN1bW1hcnlbXT4oYCR7YmFzZVVybH0vcmVwb3J0c2ApLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUud2FybignW0h0dHBSZXBvcnRQZXJzaXN0ZW5jZUFkYXB0ZXJdIEZhaWxlZCB0byBsaXN0IHJlbW90ZSByZXBvcnRzLCByZXR1cm5pbmcgbW9jayBsaXN0OicsIGVycik7XG4gICAgICAgICAgcmV0dXJuIG9mKHRoaXMuZ2V0TW9ja1N1bW1hcmllcygpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvZih0aGlzLmdldE1vY2tTdW1tYXJpZXMoKSk7XG4gIH1cblxuICBkZWxldGUocmVwb3J0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmNvbmZpZz8uYXBpQmFzZVVybDtcbiAgICBpZiAoYmFzZVVybCAmJiB0aGlzLmh0dHApIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgLmRlbGV0ZTx2b2lkPihgJHtiYXNlVXJsfS9yZXBvcnRzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHJlcG9ydElkKX1gKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgW0h0dHBSZXBvcnRQZXJzaXN0ZW5jZUFkYXB0ZXJdIEZhaWxlZCB0byBkZWxldGUgcmVtb3RlIHJlcG9ydCAke3JlcG9ydElkfTpgLCBlcnIpO1xuICAgICAgICAgICAgdGhpcy5tb2NrU3RvcmUuZGVsZXRlKHJlcG9ydElkKTtcbiAgICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuICAgIHRoaXMubW9ja1N0b3JlLmRlbGV0ZShyZXBvcnRJZCk7XG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaXNoKHJlcG9ydElkOiBzdHJpbmcsIHZlcnNpb246IG51bWJlcik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmNvbmZpZz8uYXBpQmFzZVVybDtcbiAgICBpZiAoYmFzZVVybCAmJiB0aGlzLmh0dHApIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgLnBvc3Q8dm9pZD4oYCR7YmFzZVVybH0vcmVwb3J0cy8ke2VuY29kZVVSSUNvbXBvbmVudChyZXBvcnRJZCl9L3B1Ymxpc2hgLCB7IHZlcnNpb24gfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFtIdHRwUmVwb3J0UGVyc2lzdGVuY2VBZGFwdGVyXSBGYWlsZWQgdG8gcHVibGlzaCByZW1vdGUgcmVwb3J0ICR7cmVwb3J0SWR9OmAsIGVycik7XG4gICAgICAgICAgICBjb25zdCByID0gdGhpcy5tb2NrU3RvcmUuZ2V0KHJlcG9ydElkKTtcbiAgICAgICAgICAgIGlmIChyKSB7XG4gICAgICAgICAgICAgIHIuaXNQdWJsaXNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICByLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgciA9IHRoaXMubW9ja1N0b3JlLmdldChyZXBvcnRJZCk7XG4gICAgaWYgKHIpIHtcbiAgICAgIHIuaXNQdWJsaXNoZWQgPSB0cnVlO1xuICAgICAgci52ZXJzaW9uID0gdmVyc2lvbjtcbiAgICB9XG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gIH1cblxuICBwcml2YXRlIGdldE1vY2tSZXBvcnQoaWQ6IHN0cmluZyk6IFJlcG9ydERlZmluaXRpb24ge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5tb2NrU3RvcmUuZ2V0KGlkKTtcbiAgICBpZiAoZXhpc3RpbmcpIHJldHVybiBleGlzdGluZztcblxuICAgIGNvbnN0IGZhbGxiYWNrOiBSZXBvcnREZWZpbml0aW9uID0ge1xuICAgICAgaWQsXG4gICAgICBuYW1lOiAnRGVmYXVsdCBSZXBvcnQnLFxuICAgICAgc2NoZW1hVmVyc2lvbjogMSxcbiAgICAgIHZlcnNpb246IDEsXG4gICAgICBpc1B1Ymxpc2hlZDogdHJ1ZSxcbiAgICAgIGNvbXBvbmVudHM6IFtdLFxuICAgICAgcGFyYW1ldGVyczogW10sXG4gICAgICBkYXRhU291cmNlczogW10sXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgY29sdW1uczogMTIsXG4gICAgICAgIGdhcDogMTYsXG4gICAgICAgIHBhZGRpbmc6IDE2LFxuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMubW9ja1N0b3JlLnNldChpZCwgZmFsbGJhY2spO1xuICAgIHJldHVybiBmYWxsYmFjaztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9ja1N1bW1hcmllcygpOiBSZXBvcnRTdW1tYXJ5W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMubW9ja1N0b3JlLnZhbHVlcygpKS5tYXAoKHIpID0+ICh7XG4gICAgICBpZDogci5pZCxcbiAgICAgIG5hbWU6IHIubmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiByLmRlc2NyaXB0aW9uLFxuICAgICAgY2F0ZWdvcnk6IHIuY2F0ZWdvcnksXG4gICAgICB2ZXJzaW9uOiByLnZlcnNpb24sXG4gICAgICBpc1B1Ymxpc2hlZDogQm9vbGVhbihyLmlzUHVibGlzaGVkKSxcbiAgICAgIHVwZGF0ZWRBdDogci51cGRhdGVkQXQsXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWVkRGVmYXVsdE1vY2tSZXBvcnRzKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlZWQ6IFJlcG9ydERlZmluaXRpb24gPSB7XG4gICAgICBpZDogJ3NhbGVzLXN1bW1hcnknLFxuICAgICAgbmFtZTogJ1NhbGVzIFJlZ2lzdGVyICYgQW5hbHlzaXMnLFxuICAgICAgZGVzY3JpcHRpb246ICdDb21wcmVoZW5zaXZlIHNhbGVzIHBlcmZvcm1hbmNlIGFuZCBpbnZvaWNlIHRyYWNraW5nJyxcbiAgICAgIGNhdGVnb3J5OiAnU2FsZXMnLFxuICAgICAgc2NoZW1hVmVyc2lvbjogMSxcbiAgICAgIHZlcnNpb246IDEsXG4gICAgICBpc1B1Ymxpc2hlZDogdHJ1ZSxcbiAgICAgIHBhcmFtZXRlcnM6IFtdLFxuICAgICAgZGF0YVNvdXJjZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnZHMtc2FsZXMnLFxuICAgICAgICAgIG5hbWU6ICdTYWxlcyBSZWdpc3RlciBTUCcsXG4gICAgICAgICAgZW5kcG9pbnQ6ICd1c3BfR2V0U2FsZXNSZWdpc3RlcicsXG4gICAgICAgICAgbWV0aG9kOiAnU1RPUkVEX1BST0NFRFVSRScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgY29tcG9uZW50czogW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdjbXAtZnJvbS1kYXRlJyxcbiAgICAgICAgICBrZXk6ICdmcm9tRGF0ZScsXG4gICAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHsgbGFiZWw6ICdGcm9tIERhdGUnLCBwbGFjZWhvbGRlcjogJ2RkL01NL3l5eXknIH0sXG4gICAgICAgICAgdmFsaWRhdGlvbjoge30sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ2NtcC10by1kYXRlJyxcbiAgICAgICAgICBrZXk6ICd0b0RhdGUnLFxuICAgICAgICAgIHR5cGU6ICdkYXRlJyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7IGxhYmVsOiAnVG8gRGF0ZScsIHBsYWNlaG9sZGVyOiAnZGQvTU0veXl5eScgfSxcbiAgICAgICAgICB2YWxpZGF0aW9uOiB7fSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnY21wLWN1c3RvbWVyJyxcbiAgICAgICAgICBrZXk6ICdjdXN0b21lcklkJyxcbiAgICAgICAgICB0eXBlOiAnZHJvcGRvd24nLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIGxhYmVsOiAnQ3VzdG9tZXInLFxuICAgICAgICAgICAgc291cmNlVHlwZTogJ3RhYmxlJyxcbiAgICAgICAgICAgIGVudGl0eU5hbWU6ICdDdXN0b21lcnMnLFxuICAgICAgICAgICAgdmFsdWVGaWVsZDogJ2N1c3RvbWVySWQnLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiAnY3VzdG9tZXJOYW1lJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHZhbGlkYXRpb246IHt9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdjbXAtZ3JpZCcsXG4gICAgICAgICAga2V5OiAnc2FsZXNHcmlkJyxcbiAgICAgICAgICB0eXBlOiAnZ3JpZCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgZGF0YVNvdXJjZUlkOiAnZHMtc2FsZXMnLFxuICAgICAgICAgICAgcGFnZVNpemU6IDI1LFxuICAgICAgICAgICAgZW5hYmxlU29ydGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGVuYWJsZUZpbHRlcmluZzogdHJ1ZSxcbiAgICAgICAgICAgIGNvbHVtbnM6IFtcbiAgICAgICAgICAgICAgeyBmaWVsZDogJ2ludm9pY2VObycsIGhlYWRlclRleHQ6ICdJbnZvaWNlICMnIH0sXG4gICAgICAgICAgICAgIHsgZmllbGQ6ICdkYXRlJywgaGVhZGVyVGV4dDogJ0RhdGUnIH0sXG4gICAgICAgICAgICAgIHsgZmllbGQ6ICdjdXN0b21lcicsIGhlYWRlclRleHQ6ICdDdXN0b21lcicgfSxcbiAgICAgICAgICAgICAgeyBmaWVsZDogJ2Ftb3VudCcsIGhlYWRlclRleHQ6ICdBbW91bnQnLCBmb3JtYXQ6ICdjdXJyZW5jeScgfSxcbiAgICAgICAgICAgICAgeyBmaWVsZDogJ3N0YXR1cycsIGhlYWRlclRleHQ6ICdTdGF0dXMnIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdmFsaWRhdGlvbjoge30sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIGNvbHVtbnM6IDEyLFxuICAgICAgICBnYXA6IDE2LFxuICAgICAgICBwYWRkaW5nOiAxNixcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLm1vY2tTdG9yZS5zZXQoc2VlZC5pZCwgc2VlZCk7XG4gIH1cbn1cblxuLyoqIENvbnZlbmllbmNlIGFsaWFzICovXG5leHBvcnQgY29uc3QgSHR0cFBlcnNpc3RlbmNlQWRhcHRlciA9IEh0dHBSZXBvcnRQZXJzaXN0ZW5jZUFkYXB0ZXI7XG4iXX0=
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1wZXJzaXN0ZW5jZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYndheXMtcmVwb3J0L3NyYy9saWIvZGF0YS1hY2Nlc3MvYWRhcHRlcnMvaHR0cC1wZXJzaXN0ZW5jZS5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQXFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBRTVFLGtGQUFrRjtBQUVsRixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsd0JBQXdCO0lBQ3ZELE9BQU8sR0FBRyxNQUFNLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRixJQUFZLE9BQU8sS0FBSyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckYsSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENB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LE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVwb3J0SWRBdmFpbGFiaWxpdHksIHJlcG9ydElkSW5zcGVjdGlvbiB9IGZyb20gJy4vcmVwb3J0LWlkLWF2YWlsYWJpbGl0eSc7XG5pbXBvcnQgeyBSZXBvcnRTZXNzaW9uQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3JlcG9ydC1zZXNzaW9uLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyByZXBvcnRTZXNzaW9uSGVhZGVycyB9IGZyb20gJy4vc2Vzc2lvbi1oZWFkZXJzJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZXBvcnREZWZpbml0aW9uLCBSZXBvcnRTdW1tYXJ5IH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvcmVwb3J0LWRlZmluaXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgUmVwb3J0UGVyc2lzdGVuY2VBZGFwdGVyLCBSZXBvcnRTYXZlT3B0aW9ucywgUmVwb3J0SWRTdGF0dXMgfSBmcm9tICcuLi9jb250cmFjdHMvcmVwb3J0LXBlcnNpc3RlbmNlLmNvbnRyYWN0JztcbmltcG9ydCB7IFJFUE9SVElOR19DT05GSUcgfSBmcm9tICcuLi8uLi9jb3JlL3Rva2Vucy9yZXBvcnRpbmctY29uZmlnLnRva2VuJztcblxuLyoqIEhUVFAtb25seSBwZXJzaXN0ZW5jZS4gVXNlIHdpdGhMb2NhbFN0b3JhZ2UoKSBleHBsaWNpdGx5IGZvciBvZmZsaW5lIGRlbW9zLiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEh0dHBSZXBvcnRQZXJzaXN0ZW5jZUFkYXB0ZXIgZXh0ZW5kcyBSZXBvcnRQZXJzaXN0ZW5jZUFkYXB0ZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb24gPSBpbmplY3QoUmVwb3J0U2Vzc2lvbkNvbnRleHRTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIGdldCBoZWFkZXJzKCkgeyByZXR1cm4gcmVwb3J0U2Vzc2lvbkhlYWRlcnModGhpcy5zZXNzaW9uPy5nZXRDdXJyZW50U2Vzc2lvbkNvbnRleHQoKSA/PyB7fSk7IH1cbiAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KFJFUE9SVElOR19DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgb3ZlcnJpZGUgY2hlY2tJZChyZXBvcnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKCF0aGlzLmh0dHAgfHwgIXRoaXMuY29uZmlnPy5hcGlCYXNlVXJsKSByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ0hUVFAgcmVwb3J0IHN0b3JhZ2UgaXMgbm90IGNvbmZpZ3VyZWQuJykpO1xuICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaUJhc2VVcmwucmVwbGFjZSgvXFwvKyQvLCAnJykgKyAnL3JlcG9ydHMvJyArIGVuY29kZVVSSUNvbXBvbmVudChyZXBvcnRJZCkgKyAnL2F2YWlsYWJpbGl0eSc7XG4gICAgcmV0dXJuIHJlcG9ydElkQXZhaWxhYmlsaXR5KHRoaXMuaHR0cCwgdXJsLCB0aGlzLmhlYWRlcnMsICgpID0+IHN1cGVyLmNoZWNrSWQocmVwb3J0SWQpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGluc3BlY3RJZChyZXBvcnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXBvcnRJZFN0YXR1cz4ge1xuICAgIGlmICghdGhpcy5odHRwIHx8ICF0aGlzLmNvbmZpZz8uYXBpQmFzZVVybCkgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdIVFRQIHJlcG9ydCBzdG9yYWdlIGlzIG5vdCBjb25maWd1cmVkLicpKTtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5hcGlCYXNlVXJsLnJlcGxhY2UoL1xcLyskLywgJycpICsgJy9yZXBvcnRzLycgKyBlbmNvZGVVUklDb21wb25lbnQocmVwb3J0SWQpICsgJy9hdmFpbGFiaWxpdHknO1xuICAgIHJldHVybiByZXBvcnRJZEluc3BlY3Rpb24odGhpcy5odHRwLCB1cmwsIHRoaXMuaGVhZGVycywgKCkgPT4gc3VwZXIuaW5zcGVjdElkKHJlcG9ydElkKSk7XG4gIH1cblxuICBsb2FkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlcG9ydERlZmluaXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KCdHRVQnLCAnLycgKyBlbmNvZGVVUklDb21wb25lbnQoaWQpKTtcbiAgfVxuXG4gIHNhdmUocmVwb3J0OiBSZXBvcnREZWZpbml0aW9uLCBvcHRpb25zPzogUmVwb3J0U2F2ZU9wdGlvbnMpOiBPYnNlcnZhYmxlPFJlcG9ydERlZmluaXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KCdQT1NUJywgJycsIHtcbiAgICAgIGlkOiByZXBvcnQuaWQsIG5hbWU6IHJlcG9ydC5uYW1lLCBkZXNjcmlwdGlvbjogcmVwb3J0LmRlc2NyaXB0aW9uLFxuICAgICAgY2F0ZWdvcnk6IHJlcG9ydC5jYXRlZ29yeSwgdmVyc2lvbjogcmVwb3J0LnZlcnNpb24sXG4gICAgICBpc1B1Ymxpc2hlZDogcmVwb3J0LmlzUHVibGlzaGVkID8/IGZhbHNlLCBkZWZpbml0aW9uOiByZXBvcnQsXG4gICAgICAuLi4ob3B0aW9ucz8uY3JlYXRlT25seSA/IHsgY3JlYXRlT25seTogdHJ1ZSB9IDoge30pLFxuICAgICAgLi4uKG9wdGlvbnM/LmV4cGVjdGVkVmVyc2lvbiAhPT0gdW5kZWZpbmVkID8geyBleHBlY3RlZFZlcnNpb246IG9wdGlvbnMuZXhwZWN0ZWRWZXJzaW9uIH0gOiB7fSksXG4gICAgfSk7XG4gIH1cblxuICBsaXN0KCk6IE9ic2VydmFibGU8UmVwb3J0U3VtbWFyeVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgnR0VUJywgJycpO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KCdERUxFVEUnLCAnLycgKyBlbmNvZGVVUklDb21wb25lbnQoaWQpKTtcbiAgfVxuXG4gIHB1Ymxpc2goaWQ6IHN0cmluZywgdmVyc2lvbjogbnVtYmVyKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgnUE9TVCcsICcvJyArIGVuY29kZVVSSUNvbXBvbmVudChpZCkgKyAnL3B1Ymxpc2gnLCB7IHZlcnNpb24gfSk7XG4gIH1cblxuICBwcml2YXRlIHJlcXVlc3Q8VD4obWV0aG9kOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgYm9keT86IHVua25vd24pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBpZiAoIXRoaXMuaHR0cCB8fCAhdGhpcy5jb25maWc/LmFwaUJhc2VVcmwpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignW2J3YXlzLXJlcG9ydF0gSFRUUCBwZXJzaXN0ZW5jZSByZXF1aXJlcyBIdHRwQ2xpZW50IGFuZCBhcGlCYXNlVXJsLiBVc2Ugd2l0aExvY2FsU3RvcmFnZSgpIGZvciBvZmZsaW5lIHN0b3JhZ2UuJykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLnJlcXVlc3Q8VD4obWV0aG9kLCB0aGlzLmNvbmZpZy5hcGlCYXNlVXJsLnJlcGxhY2UoL1xcLyskLywgJycpICsgJy9yZXBvcnRzJyArIHBhdGgsIHsgYm9keSwgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnI/LmVycm9yPy5tZXNzYWdlIHx8IGVycj8ubWVzc2FnZSB8fCAnUmVwb3J0IHBlcnNpc3RlbmNlIGZhaWxlZCc7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihBcnJheS5pc0FycmF5KG1lc3NhZ2UpID8gbWVzc2FnZS5qb2luKCcsICcpIDogbWVzc2FnZSkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBIdHRwUGVyc2lzdGVuY2VBZGFwdGVyID0gSHR0cFJlcG9ydFBlcnNpc3RlbmNlQWRhcHRlcjtcbiJdfQ==
|
|
@@ -1,114 +1,66 @@
|
|
|
1
|
+
import { ReportSessionContextService } from '../../core/services/report-session-context.service';
|
|
2
|
+
import { reportSessionHeaders } from './session-headers';
|
|
1
3
|
import { inject, Injectable } from '@angular/core';
|
|
2
4
|
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { of } from 'rxjs';
|
|
5
|
+
import { of, throwError } from 'rxjs';
|
|
4
6
|
import { catchError } from 'rxjs/operators';
|
|
5
7
|
import { ReportSchemaDiscoveryAdapter, } from '../contracts/schema-discovery.contract';
|
|
6
8
|
import { REPORTING_CONFIG } from '../../core/tokens/reporting-config.token';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
10
|
/**
|
|
9
11
|
* Built-in HTTP adapter for backend database schema discovery.
|
|
10
|
-
* Connects to NestJS / REST backend endpoints,
|
|
12
|
+
* Connects to NestJS / REST backend endpoints, without fabricating metadata when requests fail.
|
|
11
13
|
*/
|
|
12
14
|
export class HttpReportSchemaDiscoveryAdapter extends ReportSchemaDiscoveryAdapter {
|
|
15
|
+
session = inject(ReportSessionContextService, { optional: true });
|
|
16
|
+
get headers() { return reportSessionHeaders(this.session?.getCurrentSessionContext() ?? {}); }
|
|
13
17
|
http = inject(HttpClient, { optional: true });
|
|
14
18
|
config = inject(REPORTING_CONFIG, { optional: true });
|
|
15
|
-
mockEntities = [
|
|
16
|
-
{ name: 'Customers', schema: 'dbo', type: 'table', friendlyName: 'Customer Directory', category: 'Sales & CRM', description: 'Active customer accounts and profiles' },
|
|
17
|
-
{ name: 'Branches', schema: 'dbo', type: 'table', friendlyName: 'Branch Locations', category: 'Master Data', description: 'Company branches and regional offices' },
|
|
18
|
-
{ name: 'Products', schema: 'dbo', type: 'table', friendlyName: 'Product Catalog', category: 'Inventory', description: 'Product catalog with category codes' },
|
|
19
|
-
{ name: 'PaymentMethods', schema: 'dbo', type: 'table', friendlyName: 'Payment Methods', category: 'Finance', description: 'Available payment modes' },
|
|
20
|
-
{ name: 'usp_GetCustomerList', schema: 'dbo', type: 'stored_procedure', friendlyName: 'Customer Directory (SP)', category: 'Sales & CRM', description: 'Returns filtered customers by branch' },
|
|
21
|
-
{ name: 'usp_GetBranchLookup', schema: 'dbo', type: 'stored_procedure', friendlyName: 'Active Branches (SP)', category: 'Master Data', description: 'Returns active branches' },
|
|
22
|
-
];
|
|
23
|
-
mockColumns = {
|
|
24
|
-
Customers: [
|
|
25
|
-
{ field: 'customerId', label: 'Customer ID', dataType: 'number', nullable: false },
|
|
26
|
-
{ field: 'customerName', label: 'Customer Name', dataType: 'string', nullable: false },
|
|
27
|
-
{ field: 'email', label: 'Email Address', dataType: 'string', nullable: true },
|
|
28
|
-
{ field: 'branchId', label: 'Branch ID', dataType: 'number', nullable: true },
|
|
29
|
-
{ field: 'isActive', label: 'Active Status', dataType: 'boolean', nullable: false },
|
|
30
|
-
],
|
|
31
|
-
Branches: [
|
|
32
|
-
{ field: 'branchId', label: 'Branch ID', dataType: 'number', nullable: false },
|
|
33
|
-
{ field: 'branchName', label: 'Branch Name', dataType: 'string', nullable: false },
|
|
34
|
-
{ field: 'region', label: 'Region', dataType: 'string', nullable: true },
|
|
35
|
-
],
|
|
36
|
-
Products: [
|
|
37
|
-
{ field: 'productId', label: 'Product ID', dataType: 'number', nullable: false },
|
|
38
|
-
{ field: 'productName', label: 'Product Name', dataType: 'string', nullable: false },
|
|
39
|
-
{ field: 'category', label: 'Category', dataType: 'string', nullable: true },
|
|
40
|
-
{ field: 'unitPrice', label: 'Unit Price', dataType: 'number', nullable: false },
|
|
41
|
-
],
|
|
42
|
-
PaymentMethods: [
|
|
43
|
-
{ field: 'code', label: 'Payment Code', dataType: 'string', nullable: false },
|
|
44
|
-
{ field: 'title', label: 'Method Title', dataType: 'string', nullable: false },
|
|
45
|
-
],
|
|
46
|
-
usp_GetCustomerList: [
|
|
47
|
-
{ field: 'id', label: 'ID', dataType: 'number', nullable: false },
|
|
48
|
-
{ field: 'name', label: 'Customer Name', dataType: 'string', nullable: false },
|
|
49
|
-
{ field: 'branch', label: 'Branch Code', dataType: 'string', nullable: true },
|
|
50
|
-
],
|
|
51
|
-
usp_GetBranchLookup: [
|
|
52
|
-
{ field: 'id', label: 'Branch ID', dataType: 'number', nullable: false },
|
|
53
|
-
{ field: 'name', label: 'Branch Name', dataType: 'string', nullable: false },
|
|
54
|
-
],
|
|
55
|
-
};
|
|
56
|
-
mockParameters = {
|
|
57
|
-
usp_GetCustomerList: [
|
|
58
|
-
{ name: '@BranchId', friendlyLabel: 'Branch Location', dataType: 'number', sqlType: 'INT', required: false, description: 'Filter customers belonging to this branch' },
|
|
59
|
-
{ name: '@ActiveOnly', friendlyLabel: 'Active Only', dataType: 'boolean', sqlType: 'BIT', required: false, defaultValue: true, description: 'Only show active customers' },
|
|
60
|
-
],
|
|
61
|
-
usp_GetBranchLookup: [
|
|
62
|
-
{ name: '@Region', friendlyLabel: 'Geographical Region', dataType: 'string', sqlType: 'VARCHAR(50)', required: false, description: 'Filter by geographical region' },
|
|
63
|
-
],
|
|
64
|
-
};
|
|
65
19
|
getEntities(types) {
|
|
66
20
|
const baseUrl = this.config?.apiBaseUrl;
|
|
67
21
|
if (baseUrl && this.http) {
|
|
68
22
|
const typeParam = types ? types.join(',') : '';
|
|
69
23
|
return this.http
|
|
70
24
|
.get(`${baseUrl}/schema/entities`, {
|
|
25
|
+
headers: this.headers,
|
|
71
26
|
params: typeParam ? { types: typeParam } : {},
|
|
72
27
|
})
|
|
73
28
|
.pipe(catchError((err) => {
|
|
74
|
-
console.warn('[HttpSchemaDiscovery]
|
|
75
|
-
return
|
|
29
|
+
console.warn('[HttpSchemaDiscovery] Schema discovery request failed:', err);
|
|
30
|
+
return throwError(() => new Error('[bways-report] Schema discovery requires a reachable HTTP backend.'));
|
|
76
31
|
}));
|
|
77
32
|
}
|
|
78
|
-
return of(
|
|
33
|
+
return of([]);
|
|
79
34
|
}
|
|
80
35
|
getColumns(entityName, schema = 'dbo', type) {
|
|
81
36
|
const baseUrl = this.config?.apiBaseUrl;
|
|
82
37
|
if (baseUrl && this.http) {
|
|
83
38
|
return this.http
|
|
84
39
|
.get(`${baseUrl}/schema/columns`, {
|
|
40
|
+
headers: this.headers,
|
|
85
41
|
params: { entityName, schema, ...(type ? { type } : {}) },
|
|
86
42
|
})
|
|
87
43
|
.pipe(catchError((err) => {
|
|
88
44
|
console.warn(`[HttpSchemaDiscovery] Failed to get columns for ${entityName}:`, err);
|
|
89
|
-
return
|
|
45
|
+
return throwError(() => new Error('[bways-report] Column discovery failed or is not configured.'));
|
|
90
46
|
}));
|
|
91
47
|
}
|
|
92
|
-
return
|
|
48
|
+
return throwError(() => new Error('[bways-report] Column discovery failed or is not configured.'));
|
|
93
49
|
}
|
|
94
50
|
getParameters(entityName, schema = 'dbo') {
|
|
95
51
|
const baseUrl = this.config?.apiBaseUrl;
|
|
96
52
|
if (baseUrl && this.http) {
|
|
97
53
|
return this.http
|
|
98
54
|
.get(`${baseUrl}/schema/parameters`, {
|
|
55
|
+
headers: this.headers,
|
|
99
56
|
params: { entityName, schema },
|
|
100
57
|
})
|
|
101
58
|
.pipe(catchError((err) => {
|
|
102
59
|
console.warn(`[HttpSchemaDiscovery] Failed to get parameters for ${entityName}:`, err);
|
|
103
|
-
return
|
|
60
|
+
return throwError(() => new Error('[bways-report] Parameter discovery failed or is not configured.'));
|
|
104
61
|
}));
|
|
105
62
|
}
|
|
106
|
-
return
|
|
107
|
-
}
|
|
108
|
-
filterMockEntities(types) {
|
|
109
|
-
if (!types || types.length === 0)
|
|
110
|
-
return this.mockEntities;
|
|
111
|
-
return this.mockEntities.filter((e) => types.includes(e.type));
|
|
63
|
+
return throwError(() => new Error('[bways-report] Parameter discovery failed or is not configured.'));
|
|
112
64
|
}
|
|
113
65
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpReportSchemaDiscoveryAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
114
66
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpReportSchemaDiscoveryAdapter });
|
|
@@ -118,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
118
70
|
}] });
|
|
119
71
|
/** Convenience alias */
|
|
120
72
|
export const HttpSchemaDiscoveryAdapter = HttpReportSchemaDiscoveryAdapter;
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1zY2hlbWEtZGlzY292ZXJ5LmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9id2F5cy1yZXBvcnQvc3JjL2xpYi9kYXRhLWFjY2Vzcy9hZGFwdGVycy9odHRwLXNjaGVtYS1kaXNjb3ZlcnkuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUtMLDRCQUE0QixHQUM3QixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOztBQUU1RTs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsNEJBQTRCO0lBQy9ELElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXRELFlBQVksR0FBNkI7UUFDeEQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsdUNBQXVDLEVBQUU7UUFDdEssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsdUNBQXVDLEVBQUU7UUFDbkssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUscUNBQXFDLEVBQUU7UUFDOUosRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRTtRQUN0SixFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsc0NBQXNDLEVBQUU7UUFDL0wsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFO0tBQ2hMLENBQUM7SUFFZSxXQUFXLEdBQTJDO1FBQ3JFLFNBQVMsRUFBRTtZQUNULEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUNsRixFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7WUFDdEYsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQzlFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUM3RSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7U0FDcEY7UUFDRCxRQUFRLEVBQUU7WUFDUixFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7WUFDOUUsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ2xGLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtTQUN6RTtRQUNELFFBQVEsRUFBRTtZQUNSLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUNoRixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7WUFDcEYsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQzVFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtTQUNqRjtRQUNELGNBQWMsRUFB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QUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO2FBQy9CLENBQUM7aUJBQ0QsSUFBSSxDQUNILFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLHNEQUFzRCxVQUFVLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDdkYsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ04sQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEtBQTRCO1FBQ3JELElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQzt3R0FwSFUsZ0NBQWdDOzRHQUFoQyxnQ0FBZ0M7OzRGQUFoQyxnQ0FBZ0M7a0JBRDVDLFVBQVU7O0FBd0hYLHdCQUF3QjtBQUN4QixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgRGF0YWJhc2VFbnRpdHlNZXRhZGF0YSxcbiAgRGF0YWJhc2VFbnRpdHlUeXBlLFxuICBFbnRpdHlDb2x1bW5NZXRhZGF0YSxcbiAgUHJvY2VkdXJlUGFyYW1ldGVyTWV0YWRhdGEsXG4gIFJlcG9ydFNjaGVtYURpc2NvdmVyeUFkYXB0ZXIsXG59IGZyb20gJy4uL2NvbnRyYWN0cy9zY2hlbWEtZGlzY292ZXJ5LmNvbnRyYWN0JztcbmltcG9ydCB7IFJFUE9SVElOR19DT05GSUcgfSBmcm9tICcuLi8uLi9jb3JlL3Rva2Vucy9yZXBvcnRpbmctY29uZmlnLnRva2VuJztcblxuLyoqXG4gKiBCdWlsdC1pbiBIVFRQIGFkYXB0ZXIgZm9yIGJhY2tlbmQgZGF0YWJhc2Ugc2NoZW1hIGRpc2NvdmVyeS5cbiAqIENvbm5lY3RzIHRvIE5lc3RKUyAvIFJFU1QgYmFja2VuZCBlbmRwb2ludHMsIHdpdGggZmFsbGJhY2sgbW9jayBzY2hlbWEgZm9yIGRldmVsb3BtZW50LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSHR0cFJlcG9ydFNjaGVtYURpc2NvdmVyeUFkYXB0ZXIgZXh0ZW5kcyBSZXBvcnRTY2hlbWFEaXNjb3ZlcnlBZGFwdGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KFJFUE9SVElOR19DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtb2NrRW50aXRpZXM6IERhdGFiYXNlRW50aXR5TWV0YWRhdGFbXSA9IFtcbiAgICB7IG5hbWU6ICdDdXN0b21lcnMnLCBzY2hlbWE6ICdkYm8nLCB0eXBlOiAndGFibGUnLCBmcmllbmRseU5hbWU6ICdDdXN0b21lciBEaXJlY3RvcnknLCBjYXRlZ29yeTogJ1NhbGVzICYgQ1JNJywgZGVzY3JpcHRpb246ICdBY3RpdmUgY3VzdG9tZXIgYWNjb3VudHMgYW5kIHByb2ZpbGVzJyB9LFxuICAgIHsgbmFtZTogJ0JyYW5jaGVzJywgc2NoZW1hOiAnZGJvJywgdHlwZTogJ3RhYmxlJywgZnJpZW5kbHlOYW1lOiAnQnJhbmNoIExvY2F0aW9ucycsIGNhdGVnb3J5OiAnTWFzdGVyIERhdGEnLCBkZXNjcmlwdGlvbjogJ0NvbXBhbnkgYnJhbmNoZXMgYW5kIHJlZ2lvbmFsIG9mZmljZXMnIH0sXG4gICAgeyBuYW1lOiAnUHJvZHVjdHMnLCBzY2hlbWE6ICdkYm8nLCB0eXBlOiAndGFibGUnLCBmcmllbmRseU5hbWU6ICdQcm9kdWN0IENhdGFsb2cnLCBjYXRlZ29yeTogJ0ludmVudG9yeScsIGRlc2NyaXB0aW9uOiAnUHJvZHVjdCBjYXRhbG9nIHdpdGggY2F0ZWdvcnkgY29kZXMnIH0sXG4gICAgeyBuYW1lOiAnUGF5bWVudE1ldGhvZHMnLCBzY2hlbWE6ICdkYm8nLCB0eXBlOiAndGFibGUnLCBmcmllbmRseU5hbWU6ICdQYXltZW50IE1ldGhvZHMnLCBjYXRlZ29yeTogJ0ZpbmFuY2UnLCBkZXNjcmlwdGlvbjogJ0F2YWlsYWJsZSBwYXltZW50IG1vZGVzJyB9LFxuICAgIHsgbmFtZTogJ3VzcF9HZXRDdXN0b21lckxpc3QnLCBzY2hlbWE6ICdkYm8nLCB0eXBlOiAnc3RvcmVkX3Byb2NlZHVyZScsIGZyaWVuZGx5TmFtZTogJ0N1c3RvbWVyIERpcmVjdG9yeSAoU1ApJywgY2F0ZWdvcnk6ICdTYWxlcyAmIENSTScsIGRlc2NyaXB0aW9uOiAnUmV0dXJucyBmaWx0ZXJlZCBjdXN0b21lcnMgYnkgYnJhbmNoJyB9LFxuICAgIHsgbmFtZTogJ3VzcF9HZXRCcmFuY2hMb29rdXAnLCBzY2hlbWE6ICdkYm8nLCB0eXBlOiAnc3RvcmVkX3Byb2NlZHVyZScsIGZyaWVuZGx5TmFtZTogJ0FjdGl2ZSBCcmFuY2hlcyAoU1ApJywgY2F0ZWdvcnk6ICdNYXN0ZXIgRGF0YScsIGRlc2NyaXB0aW9uOiAnUmV0dXJucyBhY3RpdmUgYnJhbmNoZXMnIH0sXG4gIF07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtb2NrQ29sdW1uczogUmVjb3JkPHN0cmluZywgRW50aXR5Q29sdW1uTWV0YWRhdGFbXT4gPSB7XG4gICAgQ3VzdG9tZXJzOiBbXG4gICAgICB7IGZpZWxkOiAnY3VzdG9tZXJJZCcsIGxhYmVsOiAnQ3VzdG9tZXIgSUQnLCBkYXRhVHlwZTogJ251bWJlcicsIG51bGxhYmxlOiBmYWxzZSB9LFxuICAgICAgeyBmaWVsZDogJ2N1c3RvbWVyTmFtZScsIGxhYmVsOiAnQ3VzdG9tZXIgTmFtZScsIGRhdGFUeXBlOiAnc3RyaW5nJywgbnVsbGFibGU6IGZhbHNlIH0sXG4gICAgICB7IGZpZWxkOiAnZW1haWwnLCBsYWJlbDogJ0VtYWlsIEFkZHJlc3MnLCBkYXRhVHlwZTogJ3N0cmluZycsIG51bGxhYmxlOiB0cnVlIH0sXG4gICAgICB7IGZpZWxkOiAnYnJhbmNoSWQnLCBsYWJlbDogJ0JyYW5jaCBJRCcsIGRhdGFUeXBlOiAnbnVtYmVyJywgbnVsbGFibGU6IHRydWUgfSxcbiAgICAgIHsgZmllbGQ6ICdpc0FjdGl2ZScsIGxhYmVsOiAnQWN0aXZlIFN0YXR1cycsIGRhdGFUeXBlOiAnYm9vbGVhbicsIG51bGxhYmxlOiBmYWxzZSB9LFxuICAgIF0sXG4gICAgQnJhbmNoZXM6IFtcbiAgICAgIHsgZmllbGQ6ICdicmFuY2hJZCcsIGxhYmVsOiAnQnJhbmNoIElEJywgZGF0YVR5cGU6ICdudW1iZXInLCBudWxsYWJsZTogZmFsc2UgfSxcbiAgICAgIHsgZmllbGQ6ICdicmFuY2hOYW1lJywgbGFiZWw6ICdCcmFuY2ggTmFtZScsIGRhdGFUeXBlOiAnc3RyaW5nJywgbnVsbGFibGU6IGZhbHNlIH0sXG4gICAgICB7IGZpZWxkOiAncmVnaW9uJywgbGFiZWw6ICdSZWdpb24nLCBkYXRhVHlwZTogJ3N0cmluZycsIG51bGxhYmxlOiB0cnVlIH0sXG4gICAgXSxcbiAgICBQcm9kdWN0czogW1xuICAgICAgeyBmaWVsZDogJ3Byb2R1Y3RJZCcsIGxhYmVsOiAnUHJvZHVjdCBJRCcsIGRhdGFUeXBlOiAnbnVtYmVyJywgbnVsbGFibGU6IGZhbHNlIH0sXG4gICAgICB7IGZpZWxkOiAncHJvZHVjdE5hbWUnLCBsYWJlbDogJ1Byb2R1Y3QgTmFtZScsIGRhdGFUeXBlOiAnc3RyaW5nJywgbnVsbGFibGU6IGZhbHNlIH0sXG4gICAgICB7IGZpZWxkOiAnY2F0ZWdvcnknLCBsYWJlbDogJ0NhdGVnb3J5JywgZGF0YVR5cGU6ICdzdHJpbmcnLCBudWxsYWJsZTogdHJ1ZSB9LFxuICAgICAgeyBmaWVsZDogJ3VuaXRQcmljZScsIGxhYmVsOiAnVW5pdCBQcmljZScsIGRhdGFUeXBlOiAnbnVtYmVyJywgbnVsbGFibGU6IGZhbHNlIH0sXG4gICAgXSxcbiAgICBQYXltZW50TWV0aG9kczogW1xuICAgICAgeyBmaWVsZDogJ2NvZGUnLCBsYWJlbDogJ1BheW1lbnQgQ29kZScsIGRhdGFUeXBlOiAnc3RyaW5nJywgbnVsbGFibGU6IGZhbHNlIH0sXG4gICAgICB7IGZpZWxkOiAndGl0bGUnLCBsYWJlbDogJ01ldGhvZCBUaXRsZScsIGRhdGFUeXBlOiAnc3RyaW5nJywgbnVsbGFibGU6IGZhbHNlIH0sXG4gICAgXSxcbiAgICB1c3BfR2V0Q3VzdG9tZXJMaXN0OiBbXG4gICAgICB7IGZpZWxkOiAnaWQnLCBsYWJlbDogJ0lEJywgZGF0YVR5cGU6ICdudW1iZXInLCBudWxsYWJsZTogZmFsc2UgfSxcbiAgICAgIHsgZmllbGQ6ICduYW1lJywgbGFiZWw6ICdDdXN0b21lciBOYW1lJywgZGF0YVR5cGU6ICdzdHJpbmcnLCBudWxsYWJsZTogZmFsc2UgfSxcbiAgICAgIHsgZmllbGQ6ICdicmFuY2gnLCBsYWJlbDogJ0JyYW5jaCBDb2RlJywgZGF0YVR5cGU6ICdzdHJpbmcnLCBudWxsYWJsZTogdHJ1ZSB9LFxuICAgIF0sXG4gICAgdXNwX0dldEJyYW5jaExvb2t1cDogW1xuICAgICAgeyBmaWVsZDogJ2lkJywgbGFiZWw6ICdCcmFuY2ggSUQnLCBkYXRhVHlwZTogJ251bWJlcicsIG51bGxhYmxlOiBmYWxzZSB9LFxuICAgICAgeyBmaWVsZDogJ25hbWUnLCBsYWJlbDogJ0JyYW5jaCBOYW1lJywgZGF0YVR5cGU6ICdzdHJpbmcnLCBudWxsYWJsZTogZmFsc2UgfSxcbiAgICBdLFxuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbW9ja1BhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIFByb2NlZHVyZVBhcmFtZXRlck1ldGFkYXRhW10+ID0ge1xuICAgIHVzcF9HZXRDdXN0b21lckxpc3Q6IFtcbiAgICAgIHsgbmFtZTogJ0BCcmFuY2hJZCcsIGZyaWVuZGx5TGFiZWw6ICdCcmFuY2ggTG9jYXRpb24nLCBkYXRhVHlwZTogJ251bWJlcicsIHNxbFR5cGU6ICdJTlQnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnRmlsdGVyIGN1c3RvbWVycyBiZWxvbmdpbmcgdG8gdGhpcyBicmFuY2gnIH0sXG4gICAgICB7IG5hbWU6ICdAQWN0aXZlT25seScsIGZyaWVuZGx5TGFiZWw6ICdBY3RpdmUgT25seScsIGRhdGFUeXBlOiAnYm9vbGVhbicsIHNxbFR5cGU6ICdCSVQnLCByZXF1aXJlZDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogdHJ1ZSwgZGVzY3JpcHRpb246ICdPbmx5IHNob3cgYWN0aXZlIGN1c3RvbWVycycgfSxcbiAgICBdLFxuICAgIHVzcF9HZXRCcmFuY2hMb29rdXA6IFtcbiAgICAgIHsgbmFtZTogJ0BSZWdpb24nLCBmcmllbmRseUxhYmVsOiAnR2VvZ3JhcGhpY2FsIFJlZ2lvbicsIGRhdGFUeXBlOiAnc3RyaW5nJywgc3FsVHlwZTogJ1ZBUkNIQVIoNTApJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0ZpbHRlciBieSBnZW9ncmFwaGljYWwgcmVnaW9uJyB9LFxuICAgIF0sXG4gIH07XG5cbiAgZ2V0RW50aXRpZXModHlwZXM/OiBEYXRhYmFzZUVudGl0eVR5cGVbXSk6IE9ic2VydmFibGU8RGF0YWJhc2VFbnRpdHlNZXRhZGF0YVtdPiB7XG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnPy5hcGlCYXNlVXJsO1xuICAgIGlmIChiYXNlVXJsICYmIHRoaXMuaHR0cCkge1xuICAgICAgY29uc3QgdHlwZVBhcmFtID0gdHlwZXMgPyB0eXBlcy5qb2luKCcsJykgOiAnJztcbiAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgLmdldDxEYXRhYmFzZUVudGl0eU1ldGFkYXRhW10+KGAke2Jhc2VVcmx9L3NjaGVtYS9lbnRpdGllc2AsIHtcbiAgICAgICAgICBwYXJhbXM6IHR5cGVQYXJhbSA/IHsgdHlwZXM6IHR5cGVQYXJhbSB9IDoge30sXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdbSHR0cFNjaGVtYURpc2NvdmVyeV0gQVBJIHJlcXVlc3QgZmFpbGVkLCBmYWxsaW5nIGJhY2sgdG8gbW9jayBzY2hlbWE6JywgZXJyKTtcbiAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmZpbHRlck1vY2tFbnRpdGllcyh0eXBlcykpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvZih0aGlzLmZpbHRlck1vY2tFbnRpdGllcyh0eXBlcykpO1xuICB9XG5cbiAgZ2V0Q29sdW1ucyhcbiAgICBlbnRpdHlOYW1lOiBzdHJpbmcsXG4gICAgc2NoZW1hID0gJ2RibycsXG4gICAgdHlwZT86IERhdGFiYXNlRW50aXR5VHlwZVxuICApOiBPYnNlcnZhYmxlPEVudGl0eUNvbHVtbk1ldGFkYXRhW10+IHtcbiAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5jb25maWc/LmFwaUJhc2VVcmw7XG4gICAgaWYgKGJhc2VVcmwgJiYgdGhpcy5odHRwKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgIC5nZXQ8RW50aXR5Q29sdW1uTWV0YWRhdGFbXT4oYCR7YmFzZVVybH0vc2NoZW1hL2NvbHVtbnNgLCB7XG4gICAgICAgICAgcGFyYW1zOiB7IGVudGl0eU5hbWUsIHNjaGVtYSwgLi4uKHR5cGUgPyB7IHR5cGUgfSA6IHt9KSB9LFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgW0h0dHBTY2hlbWFEaXNjb3ZlcnldIEZhaWxlZCB0byBnZXQgY29sdW1ucyBmb3IgJHtlbnRpdHlOYW1lfTpgLCBlcnIpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMubW9ja0NvbHVtbnNbZW50aXR5TmFtZV0gPz8gW10pO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvZih0aGlzLm1vY2tDb2x1bW5zW2VudGl0eU5hbWVdID8/IFtdKTtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoZW50aXR5TmFtZTogc3RyaW5nLCBzY2hlbWEgPSAnZGJvJyk6IE9ic2VydmFibGU8UHJvY2VkdXJlUGFyYW1ldGVyTWV0YWRhdGFbXT4ge1xuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmNvbmZpZz8uYXBpQmFzZVVybDtcbiAgICBpZiAoYmFzZVVybCAmJiB0aGlzLmh0dHApIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgLmdldDxQcm9jZWR1cmVQYXJhbWV0ZXJNZXRhZGF0YVtdPihgJHtiYXNlVXJsfS9zY2hlbWEvcGFyYW1ldGVyc2AsIHtcbiAgICAgICAgICBwYXJhbXM6IHsgZW50aXR5TmFtZSwgc2NoZW1hIH0sXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBbSHR0cFNjaGVtYURpc2NvdmVyeV0gRmFpbGVkIHRvIGdldCBwYXJhbWV0ZXJzIGZvciAke2VudGl0eU5hbWV9OmAsIGVycik7XG4gICAgICAgICAgICByZXR1cm4gb2YodGhpcy5tb2NrUGFyYW1ldGVyc1tlbnRpdHlOYW1lXSA/PyBbXSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG9mKHRoaXMubW9ja1BhcmFtZXRlcnNbZW50aXR5TmFtZV0gPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJNb2NrRW50aXRpZXModHlwZXM/OiBEYXRhYmFzZUVudGl0eVR5cGVbXSk6IERhdGFiYXNlRW50aXR5TWV0YWRhdGFbXSB7XG4gICAgaWYgKCF0eXBlcyB8fCB0eXBlcy5sZW5ndGggPT09IDApIHJldHVybiB0aGlzLm1vY2tFbnRpdGllcztcbiAgICByZXR1cm4gdGhpcy5tb2NrRW50aXRpZXMuZmlsdGVyKChlKSA9PiB0eXBlcy5pbmNsdWRlcyhlLnR5cGUpKTtcbiAgfVxufVxuXG4vKiogQ29udmVuaWVuY2UgYWxpYXMgKi9cbmV4cG9ydCBjb25zdCBIdHRwU2NoZW1hRGlzY292ZXJ5QWRhcHRlciA9IEh0dHBSZXBvcnRTY2hlbWFEaXNjb3ZlcnlBZGFwdGVyO1xuIl19
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1zY2hlbWEtZGlzY292ZXJ5LmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9id2F5cy1yZXBvcnQvc3JjL2xpYi9kYXRhLWFjY2Vzcy9hZGFwdGVycy9odHRwLXNjaGVtYS1kaXNjb3ZlcnkuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFLTCw0QkFBNEIsR0FDN0IsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFFNUU7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLDRCQUE0QjtJQUMvRCxPQUFPLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkYsSUFBWSxPQUFPLEtBQUssT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFB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QyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDLENBQUM7WUFDeEcsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNOLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDLENBQUM7SUFDeEcsQ0FBQzt3R0EvRFUsZ0NBQWdDOzRHQUFoQyxnQ0FBZ0M7OzRGQUFoQyxnQ0FBZ0M7a0JBRDVDLFVBQVU7O0FBcUVYLHdCQUF3QjtBQUN4QixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9ydFNlc3Npb25Db250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvcmVwb3J0LXNlc3Npb24tY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IHJlcG9ydFNlc3Npb25IZWFkZXJzIH0gZnJvbSAnLi9zZXNzaW9uLWhlYWRlcnMnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBEYXRhYmFzZUVudGl0eU1ldGFkYXRhLFxuICBEYXRhYmFzZUVudGl0eVR5cGUsXG4gIEVudGl0eUNvbHVtbk1ldGFkYXRhLFxuICBQcm9jZWR1cmVQYXJhbWV0ZXJNZXRhZGF0YSxcbiAgUmVwb3J0U2NoZW1hRGlzY292ZXJ5QWRhcHRlcixcbn0gZnJvbSAnLi4vY29udHJhY3RzL3NjaGVtYS1kaXNjb3ZlcnkuY29udHJhY3QnO1xuaW1wb3J0IHsgUkVQT1JUSU5HX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvcmUvdG9rZW5zL3JlcG9ydGluZy1jb25maWcudG9rZW4nO1xuXG4vKipcbiAqIEJ1aWx0LWluIEhUVFAgYWRhcHRlciBmb3IgYmFja2VuZCBkYXRhYmFzZSBzY2hlbWEgZGlzY292ZXJ5LlxuICogQ29ubmVjdHMgdG8gTmVzdEpTIC8gUkVTVCBiYWNrZW5kIGVuZHBvaW50cywgd2l0aG91dCBmYWJyaWNhdGluZyBtZXRhZGF0YSB3aGVuIHJlcXVlc3RzIGZhaWwuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwUmVwb3J0U2NoZW1hRGlzY292ZXJ5QWRhcHRlciBleHRlbmRzIFJlcG9ydFNjaGVtYURpc2NvdmVyeUFkYXB0ZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb24gPSBpbmplY3QoUmVwb3J0U2Vzc2lvbkNvbnRleHRTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIGdldCBoZWFkZXJzKCkgeyByZXR1cm4gcmVwb3J0U2Vzc2lvbkhlYWRlcnModGhpcy5zZXNzaW9uPy5nZXRDdXJyZW50U2Vzc2lvbkNvbnRleHQoKSA/PyB7fSk7IH1cbiAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KFJFUE9SVElOR19DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgZ2V0RW50aXRpZXModHlwZXM/OiBEYXRhYmFzZUVudGl0eVR5cGVbXSk6IE9ic2VydmFibGU8RGF0YWJhc2VFbnRpdHlNZXRhZGF0YVtdPiB7XG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnPy5hcGlCYXNlVXJsO1xuICAgIGlmIChiYXNlVXJsICYmIHRoaXMuaHR0cCkge1xuICAgICAgY29uc3QgdHlwZVBhcmFtID0gdHlwZXMgPyB0eXBlcy5qb2luKCcsJykgOiAnJztcbiAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgLmdldDxEYXRhYmFzZUVudGl0eU1ldGFkYXRhW10+KGAke2Jhc2VVcmx9L3NjaGVtYS9lbnRpdGllc2AsIHtcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXG4gICAgICAgICAgcGFyYW1zOiB0eXBlUGFyYW0gPyB7IHR5cGVzOiB0eXBlUGFyYW0gfSA6IHt9LFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignW0h0dHBTY2hlbWFEaXNjb3ZlcnldIFNjaGVtYSBkaXNjb3ZlcnkgcmVxdWVzdCBmYWlsZWQ6JywgZXJyKTtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignW2J3YXlzLXJlcG9ydF0gU2NoZW1hIGRpc2NvdmVyeSByZXF1aXJlcyBhIHJlYWNoYWJsZSBIVFRQIGJhY2tlbmQuJykpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvZihbXSk7XG4gIH1cblxuICBnZXRDb2x1bW5zKFxuICAgIGVudGl0eU5hbWU6IHN0cmluZyxcbiAgICBzY2hlbWEgPSAnZGJvJyxcbiAgICB0eXBlPzogRGF0YWJhc2VFbnRpdHlUeXBlXG4gICk6IE9ic2VydmFibGU8RW50aXR5Q29sdW1uTWV0YWRhdGFbXT4ge1xuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmNvbmZpZz8uYXBpQmFzZVVybDtcbiAgICBpZiAoYmFzZVVybCAmJiB0aGlzLmh0dHApIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgLmdldDxFbnRpdHlDb2x1bW5NZXRhZGF0YVtdPihgJHtiYXNlVXJsfS9zY2hlbWEvY29sdW1uc2AsIHtcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXG4gICAgICAgICAgcGFyYW1zOiB7IGVudGl0eU5hbWUsIHNjaGVtYSwgLi4uKHR5cGUgPyB7IHR5cGUgfSA6IHt9KSB9LFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgW0h0dHBTY2hlbWFEaXNjb3ZlcnldIEZhaWxlZCB0byBnZXQgY29sdW1ucyBmb3IgJHtlbnRpdHlOYW1lfTpgLCBlcnIpO1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdbYndheXMtcmVwb3J0XSBDb2x1bW4gZGlzY292ZXJ5IGZhaWxlZCBvciBpcyBub3QgY29uZmlndXJlZC4nKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdbYndheXMtcmVwb3J0XSBDb2x1bW4gZGlzY292ZXJ5IGZhaWxlZCBvciBpcyBub3QgY29uZmlndXJlZC4nKSk7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzKGVudGl0eU5hbWU6IHN0cmluZywgc2NoZW1hID0gJ2RibycpOiBPYnNlcnZhYmxlPFByb2NlZHVyZVBhcmFtZXRlck1ldGFkYXRhW10+IHtcbiAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5jb25maWc/LmFwaUJhc2VVcmw7XG4gICAgaWYgKGJhc2VVcmwgJiYgdGhpcy5odHRwKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgIC5nZXQ8UHJvY2VkdXJlUGFyYW1ldGVyTWV0YWRhdGFbXT4oYCR7YmFzZVVybH0vc2NoZW1hL3BhcmFtZXRlcnNgLCB7XG4gICAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzLFxuICAgICAgICAgIHBhcmFtczogeyBlbnRpdHlOYW1lLCBzY2hlbWEgfSxcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFtIdHRwU2NoZW1hRGlzY292ZXJ5XSBGYWlsZWQgdG8gZ2V0IHBhcmFtZXRlcnMgZm9yICR7ZW50aXR5TmFtZX06YCwgZXJyKTtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignW2J3YXlzLXJlcG9ydF0gUGFyYW1ldGVyIGRpc2NvdmVyeSBmYWlsZWQgb3IgaXMgbm90IGNvbmZpZ3VyZWQuJykpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignW2J3YXlzLXJlcG9ydF0gUGFyYW1ldGVyIGRpc2NvdmVyeSBmYWlsZWQgb3IgaXMgbm90IGNvbmZpZ3VyZWQuJykpO1xuICB9XG5cblxufVxuXG4vKiogQ29udmVuaWVuY2UgYWxpYXMgKi9cbmV4cG9ydCBjb25zdCBIdHRwU2NoZW1hRGlzY292ZXJ5QWRhcHRlciA9IEh0dHBSZXBvcnRTY2hlbWFEaXNjb3ZlcnlBZGFwdGVyO1xuIl19
|
|
@@ -12,4 +12,4 @@ export { EndpointLookupAdapter } from './endpoint-lookup.adapter';
|
|
|
12
12
|
export { EndpointPersistenceAdapter } from './endpoint-persistence.adapter';
|
|
13
13
|
export { EndpointMasterDataAdapter } from './endpoint-masterdata.adapter';
|
|
14
14
|
export { BWAYS_REPORT_ENDPOINTS } from './endpoint-tokens';
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9id2F5cy1yZXBvcnQvc3JjL2xpYi9kYXRhLWFjY2Vzcy9hZGFwdGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLDBCQUEwQixHQUMzQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEdBQ2xCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixxQkFBcUIsR0FDdEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHNCQUFzQixHQUN2QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFDTCxxQkFBcUIsR0FDdEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQ0wsb0NBQW9DLEdBQ3JDLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNMLDJCQUEyQixHQUM1QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLG9FQUFvRTtBQUNwRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIEh0dHBSZXBvcnRTY2hlbWFEaXNjb3ZlcnlBZGFwdGVyLFxuICBIdHRwU2NoZW1hRGlzY292ZXJ5QWRhcHRlcixcbn0gZnJvbSAnLi9odHRwLXNjaGVtYS1kaXNjb3ZlcnkuYWRhcHRlcic7XG5leHBvcnQge1xuICBIdHRwUmVwb3J0TG9va3VwQWRhcHRlcixcbiAgSHR0cExvb2t1cEFkYXB0ZXIsXG59IGZyb20gJy4vaHR0cC1sb29rdXAuYWRhcHRlcic7XG5leHBvcnQge1xuICBIdHRwUmVwb3J0RGF0YVNvdXJjZUFkYXB0ZXIsXG4gIEh0dHBEYXRhU291cmNlQWRhcHRlcixcbn0gZnJvbSAnLi9odHRwLWRhdGFzb3VyY2UuYWRhcHRlcic7XG5leHBvcnQge1xuICBIdHRwUmVwb3J0UGVyc2lzdGVuY2VBZGFwdGVyLFxuICBIdHRwUGVyc2lzdGVuY2VBZGFwdGVyLFxufSBmcm9tICcuL2h0dHAtcGVyc2lzdGVuY2UuYWRhcHRlcic7XG5leHBvcnQge1xuICBIdHRwTWFzdGVyRGF0YUFkYXB0ZXIsXG59IGZyb20gJy4vaHR0cC1tYXN0ZXJkYXRhLmFkYXB0ZXInO1xuZXhwb3J0IHtcbiAgTG9jYWxTdG9yYWdlUmVwb3J0UGVyc2lzdGVuY2VBZGFwdGVyLFxufSBmcm9tICcuL2xvY2FsLXN0b3JhZ2UtcGVyc2lzdGVuY2UuYWRhcHRlcic7XG5leHBvcnQge1xuICBNb2NrUmVwb3J0RGF0YVNvdXJjZUFkYXB0ZXIsXG59IGZyb20gJy4vbW9jay1kYXRhc291cmNlLmFkYXB0ZXInO1xuXG4vLyBFbmRwb2ludC1iYXNlZCBhZGFwdGVycyAodXNlZCBieSBCd2F5c1JlcG9ydENvbmZpZyBzaW1wbGUgY29uZmlnKVxuZXhwb3J0IHsgRW5kcG9pbnRTY2hlbWFEaXNjb3ZlcnlBZGFwdGVyIH0gZnJvbSAnLi9lbmRwb2ludC1zY2hlbWEtZGlzY292ZXJ5LmFkYXB0ZXInO1xuZXhwb3J0IHsgRW5kcG9pbnREYXRhU291cmNlQWRhcHRlciB9IGZyb20gJy4vZW5kcG9pbnQtZGF0YXNvdXJjZS5hZGFwdGVyJztcbmV4cG9ydCB7IEVuZHBvaW50TG9va3VwQWRhcHRlciB9IGZyb20gJy4vZW5kcG9pbnQtbG9va3VwLmFkYXB0ZXInO1xuZXhwb3J0IHsgRW5kcG9pbnRQZXJzaXN0ZW5jZUFkYXB0ZXIgfSBmcm9tICcuL2VuZHBvaW50LXBlcnNpc3RlbmNlLmFkYXB0ZXInO1xuZXhwb3J0IHsgRW5kcG9pbnRNYXN0ZXJEYXRhQWRhcHRlciB9IGZyb20gJy4vZW5kcG9pbnQtbWFzdGVyZGF0YS5hZGFwdGVyJztcbmV4cG9ydCB7IEJXQVlTX1JFUE9SVF9FTkRQT0lOVFMgfSBmcm9tICcuL2VuZHBvaW50LXRva2Vucyc7XG5leHBvcnQgdHlwZSB7IEJ3YXlzUmVwb3J0RW5kcG9pbnRzLCBCd2F5c1JlcG9ydEFwaVVybHMgfSBmcm9tICcuL2VuZHBvaW50LXRva2Vucyc7XG4iXX0=
|