vc-error-handlers 0.1.96 → 0.1.97
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/environments/environment.d.ts +39 -0
- package/esm2020/environments/environment.mjs +75 -0
- package/esm2020/lib/featureFlag/feature-flag.directive.mjs +27 -0
- package/esm2020/lib/featureFlag/feature-flag.module.mjs +22 -0
- package/esm2020/lib/featureFlag/feature-flag.service.mjs +95 -0
- package/esm2020/lib/shared/interceptors/http.interceptor.mjs +19 -12
- package/esm2020/lib/vc-error-handlers.module.mjs +12 -6
- package/fesm2015/vc-error-handlers.mjs +236 -17
- package/fesm2015/vc-error-handlers.mjs.map +1 -1
- package/fesm2020/vc-error-handlers.mjs +235 -17
- package/fesm2020/vc-error-handlers.mjs.map +1 -1
- package/lib/featureFlag/feature-flag.directive.d.ts +13 -0
- package/lib/featureFlag/feature-flag.module.d.ts +8 -0
- package/lib/featureFlag/feature-flag.service.d.ts +19 -0
- package/lib/shared/interceptors/http.interceptor.d.ts +3 -1
- package/lib/vc-error-handlers.module.d.ts +5 -1
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare const environment: {
|
|
2
|
+
production: boolean;
|
|
3
|
+
appUrl: string;
|
|
4
|
+
apiBaseUrl: string;
|
|
5
|
+
authEndpoint: string;
|
|
6
|
+
orgEndpoint_TL: string;
|
|
7
|
+
s3Url: string;
|
|
8
|
+
s3BucketUrl: string;
|
|
9
|
+
s3Bucket: string;
|
|
10
|
+
profile: string;
|
|
11
|
+
assessmentEnpoint: string;
|
|
12
|
+
organizationPost: string;
|
|
13
|
+
organizationGet: string;
|
|
14
|
+
complianceGet: string;
|
|
15
|
+
compliancePost: string;
|
|
16
|
+
fileUploadEndPoint: string;
|
|
17
|
+
assuranceGet: string;
|
|
18
|
+
policyGet: string;
|
|
19
|
+
saveDoc: string;
|
|
20
|
+
docxUpload: string;
|
|
21
|
+
fileUpload: string;
|
|
22
|
+
policyPost: string;
|
|
23
|
+
policyPut: string;
|
|
24
|
+
responsibilityPost: string;
|
|
25
|
+
linkDoc: string;
|
|
26
|
+
linkPdf: string;
|
|
27
|
+
assuranceApi: string;
|
|
28
|
+
assurance: string;
|
|
29
|
+
programEndpoint: string;
|
|
30
|
+
risk: string;
|
|
31
|
+
risk_put: string;
|
|
32
|
+
riskPdfPost: string;
|
|
33
|
+
riskPost: string;
|
|
34
|
+
riskGet: string;
|
|
35
|
+
baseUrl: string;
|
|
36
|
+
grc_get: string;
|
|
37
|
+
leftMenuLogo: string;
|
|
38
|
+
vLoader: string;
|
|
39
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// This file can be replaced during build by using the `fileReplacements` array.
|
|
2
|
+
// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
|
|
3
|
+
// The list of file replacements can be found in `angular.json`.
|
|
4
|
+
let domainName = 'devapi.v-comply.com';
|
|
5
|
+
let apiBaseUrl = 'https://api-uat1.v-comply.com';
|
|
6
|
+
switch (window.location.host) {
|
|
7
|
+
case 'dev.v-comply.com':
|
|
8
|
+
domainName = 'devapi.v-comply.com';
|
|
9
|
+
apiBaseUrl = 'https://api-uat1.v-comply.com';
|
|
10
|
+
break;
|
|
11
|
+
case 'beta.v-comply.com':
|
|
12
|
+
domainName = 'betaapi.v-comply.com';
|
|
13
|
+
apiBaseUrl = 'https://api-staging.v-comply.com';
|
|
14
|
+
break;
|
|
15
|
+
case 'test.v-comply.com':
|
|
16
|
+
domainName = 'devapi.v-comply.com';
|
|
17
|
+
break;
|
|
18
|
+
case 'eu.v-comply.com':
|
|
19
|
+
domainName = 'euapi.v-comply.com';
|
|
20
|
+
break;
|
|
21
|
+
default:
|
|
22
|
+
domainName = 'api.v-comply.com';
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
const PORT_EDITOR = 8081;
|
|
26
|
+
const PORT_CONTENT_SAVE = 8834;
|
|
27
|
+
let endPoint = 'https://devapi.v-comply.com/';
|
|
28
|
+
export const environment = {
|
|
29
|
+
production: false,
|
|
30
|
+
appUrl: 'http://localhost:4200/',
|
|
31
|
+
apiBaseUrl: 'https://api-uat1.v-comply.com',
|
|
32
|
+
authEndpoint: `${endPoint}VcomplyAuth/`,
|
|
33
|
+
orgEndpoint_TL: `${endPoint}organization_pwt/?mode=`,
|
|
34
|
+
s3Url: '',
|
|
35
|
+
s3BucketUrl: `${endPoint}globals?mode=bucket`,
|
|
36
|
+
s3Bucket: '',
|
|
37
|
+
profile: '/profile_pic/thumb/',
|
|
38
|
+
assessmentEnpoint: `${endPoint}Assessment/?mode=`,
|
|
39
|
+
organizationPost: `${endPoint}organization_post/?mode=`,
|
|
40
|
+
organizationGet: `${endPoint}organization/?mode=`,
|
|
41
|
+
complianceGet: `${endPoint}compliance/?mode=`,
|
|
42
|
+
compliancePost: `${endPoint}compliance_post/?mode=`,
|
|
43
|
+
fileUploadEndPoint: 'https://upload-uat1.v-comply.com/fileupload/?destination=',
|
|
44
|
+
assuranceGet: `${endPoint}assurance/?mode=`,
|
|
45
|
+
policyGet: `${endPoint}policy/?mode=`,
|
|
46
|
+
saveDoc: 'https://dev-node.v-comply.com/saveContent?bypass-token=true&id=',
|
|
47
|
+
docxUpload: 'https://dev-node.v-comply.com/ImportDocument',
|
|
48
|
+
fileUpload: 'https://dev-node.v-comply.com/importFiles',
|
|
49
|
+
policyPost: `${endPoint}policy_post/?mode=`,
|
|
50
|
+
policyPut: `${endPoint}policy_put/?mode=`,
|
|
51
|
+
responsibilityPost: `${endPoint}responsibilities_post/?mode=`,
|
|
52
|
+
linkDoc: 'https://dev-node.v-comply.com' + '/ImportDocument',
|
|
53
|
+
linkPdf: 'https://dev-node.v-comply.com' + '/extractDocs',
|
|
54
|
+
assuranceApi: 'https://devapi.v-comply.com/Assurance/',
|
|
55
|
+
assurance: 'https://devapi.v-comply.com/Assurance/',
|
|
56
|
+
programEndpoint: 'https://devapi.v-comply.com/program',
|
|
57
|
+
risk: 'https://devapi.v-comply.com/risk/?mode=',
|
|
58
|
+
risk_put: 'https://devapi.v-comply.com/risk_put/?mode=',
|
|
59
|
+
riskPdfPost: 'https://devapi.v-comply.com/risk_pdf_post?mode=',
|
|
60
|
+
riskPost: 'https://devapi.v-comply.com/risk_post/?mode=',
|
|
61
|
+
riskGet: 'https://devapi.v-comply.com/risk/?mode=',
|
|
62
|
+
baseUrl: 'https://devapi.v-comply.com/',
|
|
63
|
+
grc_get: 'https://devapi.v-comply.com/grc_object/?mode=',
|
|
64
|
+
leftMenuLogo: 'https://cdn.v-comply.com/logo/prod/v-logo.svg?v=1.0',
|
|
65
|
+
vLoader: 'https://cdn.v-comply.com/logo/prod/v-icon-loader.svg?v=1.0',
|
|
66
|
+
};
|
|
67
|
+
/*
|
|
68
|
+
* For easier debugging in development mode, you can import the following file
|
|
69
|
+
* to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
|
|
70
|
+
*
|
|
71
|
+
* This import should be commented out in production mode because it will have a negative impact
|
|
72
|
+
* on performance if an error is thrown.
|
|
73
|
+
*/
|
|
74
|
+
// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdGQUFnRjtBQUNoRiwwRUFBMEU7QUFDMUUsZ0VBQWdFO0FBRWhFLElBQUksVUFBVSxHQUFHLHFCQUFxQixDQUFDO0FBQ3ZDLElBQUksVUFBVSxHQUFHLCtCQUErQixDQUFDO0FBQ2pELFFBQVEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7SUFDNUIsS0FBSyxrQkFBa0I7UUFDckIsVUFBVSxHQUFHLHFCQUFxQixDQUFDO1FBQ25DLFVBQVUsR0FBRywrQkFBK0IsQ0FBQztRQUM3QyxNQUFNO0lBQ1IsS0FBSyxtQkFBbUI7UUFDdEIsVUFBVSxHQUFHLHNCQUFzQixDQUFDO1FBQ3BDLFVBQVUsR0FBRyxrQ0FBa0MsQ0FBQztRQUNoRCxNQUFNO0lBQ1IsS0FBSyxtQkFBbUI7UUFDdEIsVUFBVSxHQUFHLHFCQUFxQixDQUFDO1FBQ25DLE1BQU07SUFDUixLQUFLLGlCQUFpQjtRQUNwQixVQUFVLEdBQUcsb0JBQW9CLENBQUM7UUFDbEMsTUFBTTtJQUNSO1FBQ0UsVUFBVSxHQUFHLGtCQUFrQixDQUFDO1FBQ2hDLE1BQU07Q0FDVDtBQUNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQztBQUN6QixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUMvQixJQUFJLFFBQVEsR0FBRyw4QkFBOEIsQ0FBQztBQUM5QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsVUFBVSxFQUFFLEtBQUs7SUFDakIsTUFBTSxFQUFFLHdCQUF3QjtJQUNoQyxVQUFVLEVBQUUsK0JBQStCO0lBQzNDLFlBQVksRUFBRSxHQUFHLFFBQVEsY0FBYztJQUN2QyxjQUFjLEVBQUUsR0FBRyxRQUFRLHlCQUF5QjtJQUNwRCxLQUFLLEVBQUUsRUFBRTtJQUNULFdBQVcsRUFBRSxHQUFHLFFBQVEscUJBQXFCO0lBQzdDLFFBQVEsRUFBRSxFQUFFO0lBQ1osT0FBTyxFQUFFLHFCQUFxQjtJQUM5QixpQkFBaUIsRUFBRSxHQUFHLFFBQVEsbUJBQW1CO0lBQ2pELGdCQUFnQixFQUFFLEdBQUcsUUFBUSwwQkFBMEI7SUFDdkQsZUFBZSxFQUFFLEdBQUcsUUFBUSxxQkFBcUI7SUFDakQsYUFBYSxFQUFFLEdBQUcsUUFBUSxtQkFBbUI7SUFDN0MsY0FBYyxFQUFFLEdBQUcsUUFBUSx3QkFBd0I7SUFDbkQsa0JBQWtCLEVBQ2hCLDJEQUEyRDtJQUM3RCxZQUFZLEVBQUUsR0FBRyxRQUFRLGtCQUFrQjtJQUMzQyxTQUFTLEVBQUUsR0FBRyxRQUFRLGVBQWU7SUFDckMsT0FBTyxFQUFFLGlFQUFpRTtJQUMxRSxVQUFVLEVBQUUsOENBQThDO0lBQzFELFVBQVUsRUFBRSwyQ0FBMkM7SUFDdkQsVUFBVSxFQUFFLEdBQUcsUUFBUSxvQkFBb0I7SUFDM0MsU0FBUyxFQUFFLEdBQUcsUUFBUSxtQkFBbUI7SUFDekMsa0JBQWtCLEVBQUUsR0FBRyxRQUFRLDhCQUE4QjtJQUM3RCxPQUFPLEVBQUUsK0JBQStCLEdBQUcsaUJBQWlCO0lBQzVELE9BQU8sRUFBRSwrQkFBK0IsR0FBRyxjQUFjO0lBQ3pELFlBQVksRUFBRSx3Q0FBd0M7SUFDdEQsU0FBUyxFQUFFLHdDQUF3QztJQUNuRCxlQUFlLEVBQUUscUNBQXFDO0lBQ3RELElBQUksRUFBRSx5Q0FBeUM7SUFDL0MsUUFBUSxFQUFFLDZDQUE2QztJQUN2RCxXQUFXLEVBQUUsaURBQWlEO0lBQzlELFFBQVEsRUFBRSw4Q0FBOEM7SUFDeEQsT0FBTyxFQUFFLHlDQUF5QztJQUNsRCxPQUFPLEVBQUUsOEJBQThCO0lBQ3ZDLE9BQU8sRUFBRSwrQ0FBK0M7SUFDeEQsWUFBWSxFQUFFLHFEQUFxRDtJQUNuRSxPQUFPLEVBQUUsNERBQTREO0NBQ3RFLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxzRUFBc0UiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgY2FuIGJlIHJlcGxhY2VkIGR1cmluZyBidWlsZCBieSB1c2luZyB0aGUgYGZpbGVSZXBsYWNlbWVudHNgIGFycmF5LlxyXG4vLyBgbmcgYnVpbGQgLS1wcm9kYCByZXBsYWNlcyBgZW52aXJvbm1lbnQudHNgIHdpdGggYGVudmlyb25tZW50LnByb2QudHNgLlxyXG4vLyBUaGUgbGlzdCBvZiBmaWxlIHJlcGxhY2VtZW50cyBjYW4gYmUgZm91bmQgaW4gYGFuZ3VsYXIuanNvbmAuXHJcblxyXG5sZXQgZG9tYWluTmFtZSA9ICdkZXZhcGkudi1jb21wbHkuY29tJztcclxubGV0IGFwaUJhc2VVcmwgPSAnaHR0cHM6Ly9hcGktdWF0MS52LWNvbXBseS5jb20nO1xyXG5zd2l0Y2ggKHdpbmRvdy5sb2NhdGlvbi5ob3N0KSB7XHJcbiAgY2FzZSAnZGV2LnYtY29tcGx5LmNvbSc6XHJcbiAgICBkb21haW5OYW1lID0gJ2RldmFwaS52LWNvbXBseS5jb20nO1xyXG4gICAgYXBpQmFzZVVybCA9ICdodHRwczovL2FwaS11YXQxLnYtY29tcGx5LmNvbSc7XHJcbiAgICBicmVhaztcclxuICBjYXNlICdiZXRhLnYtY29tcGx5LmNvbSc6XHJcbiAgICBkb21haW5OYW1lID0gJ2JldGFhcGkudi1jb21wbHkuY29tJztcclxuICAgIGFwaUJhc2VVcmwgPSAnaHR0cHM6Ly9hcGktc3RhZ2luZy52LWNvbXBseS5jb20nO1xyXG4gICAgYnJlYWs7XHJcbiAgY2FzZSAndGVzdC52LWNvbXBseS5jb20nOlxyXG4gICAgZG9tYWluTmFtZSA9ICdkZXZhcGkudi1jb21wbHkuY29tJztcclxuICAgIGJyZWFrO1xyXG4gIGNhc2UgJ2V1LnYtY29tcGx5LmNvbSc6XHJcbiAgICBkb21haW5OYW1lID0gJ2V1YXBpLnYtY29tcGx5LmNvbSc7XHJcbiAgICBicmVhaztcclxuICBkZWZhdWx0OlxyXG4gICAgZG9tYWluTmFtZSA9ICdhcGkudi1jb21wbHkuY29tJztcclxuICAgIGJyZWFrO1xyXG59XHJcbmNvbnN0IFBPUlRfRURJVE9SID0gODA4MTtcclxuY29uc3QgUE9SVF9DT05URU5UX1NBVkUgPSA4ODM0O1xyXG5sZXQgZW5kUG9pbnQgPSAnaHR0cHM6Ly9kZXZhcGkudi1jb21wbHkuY29tLyc7XHJcbmV4cG9ydCBjb25zdCBlbnZpcm9ubWVudCA9IHtcclxuICBwcm9kdWN0aW9uOiBmYWxzZSxcclxuICBhcHBVcmw6ICdodHRwOi8vbG9jYWxob3N0OjQyMDAvJyxcclxuICBhcGlCYXNlVXJsOiAnaHR0cHM6Ly9hcGktdWF0MS52LWNvbXBseS5jb20nLFxyXG4gIGF1dGhFbmRwb2ludDogYCR7ZW5kUG9pbnR9VmNvbXBseUF1dGgvYCxcclxuICBvcmdFbmRwb2ludF9UTDogYCR7ZW5kUG9pbnR9b3JnYW5pemF0aW9uX3B3dC8/bW9kZT1gLFxyXG4gIHMzVXJsOiAnJyxcclxuICBzM0J1Y2tldFVybDogYCR7ZW5kUG9pbnR9Z2xvYmFscz9tb2RlPWJ1Y2tldGAsXHJcbiAgczNCdWNrZXQ6ICcnLFxyXG4gIHByb2ZpbGU6ICcvcHJvZmlsZV9waWMvdGh1bWIvJyxcclxuICBhc3Nlc3NtZW50RW5wb2ludDogYCR7ZW5kUG9pbnR9QXNzZXNzbWVudC8/bW9kZT1gLFxyXG4gIG9yZ2FuaXphdGlvblBvc3Q6IGAke2VuZFBvaW50fW9yZ2FuaXphdGlvbl9wb3N0Lz9tb2RlPWAsXHJcbiAgb3JnYW5pemF0aW9uR2V0OiBgJHtlbmRQb2ludH1vcmdhbml6YXRpb24vP21vZGU9YCxcclxuICBjb21wbGlhbmNlR2V0OiBgJHtlbmRQb2ludH1jb21wbGlhbmNlLz9tb2RlPWAsXHJcbiAgY29tcGxpYW5jZVBvc3Q6IGAke2VuZFBvaW50fWNvbXBsaWFuY2VfcG9zdC8/bW9kZT1gLFxyXG4gIGZpbGVVcGxvYWRFbmRQb2ludDpcclxuICAgICdodHRwczovL3VwbG9hZC11YXQxLnYtY29tcGx5LmNvbS9maWxldXBsb2FkLz9kZXN0aW5hdGlvbj0nLFxyXG4gIGFzc3VyYW5jZUdldDogYCR7ZW5kUG9pbnR9YXNzdXJhbmNlLz9tb2RlPWAsXHJcbiAgcG9saWN5R2V0OiBgJHtlbmRQb2ludH1wb2xpY3kvP21vZGU9YCxcclxuICBzYXZlRG9jOiAnaHR0cHM6Ly9kZXYtbm9kZS52LWNvbXBseS5jb20vc2F2ZUNvbnRlbnQ/YnlwYXNzLXRva2VuPXRydWUmaWQ9JyxcclxuICBkb2N4VXBsb2FkOiAnaHR0cHM6Ly9kZXYtbm9kZS52LWNvbXBseS5jb20vSW1wb3J0RG9jdW1lbnQnLFxyXG4gIGZpbGVVcGxvYWQ6ICdodHRwczovL2Rldi1ub2RlLnYtY29tcGx5LmNvbS9pbXBvcnRGaWxlcycsXHJcbiAgcG9saWN5UG9zdDogYCR7ZW5kUG9pbnR9cG9saWN5X3Bvc3QvP21vZGU9YCxcclxuICBwb2xpY3lQdXQ6IGAke2VuZFBvaW50fXBvbGljeV9wdXQvP21vZGU9YCxcclxuICByZXNwb25zaWJpbGl0eVBvc3Q6IGAke2VuZFBvaW50fXJlc3BvbnNpYmlsaXRpZXNfcG9zdC8/bW9kZT1gLFxyXG4gIGxpbmtEb2M6ICdodHRwczovL2Rldi1ub2RlLnYtY29tcGx5LmNvbScgKyAnL0ltcG9ydERvY3VtZW50JyxcclxuICBsaW5rUGRmOiAnaHR0cHM6Ly9kZXYtbm9kZS52LWNvbXBseS5jb20nICsgJy9leHRyYWN0RG9jcycsXHJcbiAgYXNzdXJhbmNlQXBpOiAnaHR0cHM6Ly9kZXZhcGkudi1jb21wbHkuY29tL0Fzc3VyYW5jZS8nLFxyXG4gIGFzc3VyYW5jZTogJ2h0dHBzOi8vZGV2YXBpLnYtY29tcGx5LmNvbS9Bc3N1cmFuY2UvJyxcclxuICBwcm9ncmFtRW5kcG9pbnQ6ICdodHRwczovL2RldmFwaS52LWNvbXBseS5jb20vcHJvZ3JhbScsXHJcbiAgcmlzazogJ2h0dHBzOi8vZGV2YXBpLnYtY29tcGx5LmNvbS9yaXNrLz9tb2RlPScsXHJcbiAgcmlza19wdXQ6ICdodHRwczovL2RldmFwaS52LWNvbXBseS5jb20vcmlza19wdXQvP21vZGU9JyxcclxuICByaXNrUGRmUG9zdDogJ2h0dHBzOi8vZGV2YXBpLnYtY29tcGx5LmNvbS9yaXNrX3BkZl9wb3N0P21vZGU9JyxcclxuICByaXNrUG9zdDogJ2h0dHBzOi8vZGV2YXBpLnYtY29tcGx5LmNvbS9yaXNrX3Bvc3QvP21vZGU9JyxcclxuICByaXNrR2V0OiAnaHR0cHM6Ly9kZXZhcGkudi1jb21wbHkuY29tL3Jpc2svP21vZGU9JyxcclxuICBiYXNlVXJsOiAnaHR0cHM6Ly9kZXZhcGkudi1jb21wbHkuY29tLycsXHJcbiAgZ3JjX2dldDogJ2h0dHBzOi8vZGV2YXBpLnYtY29tcGx5LmNvbS9ncmNfb2JqZWN0Lz9tb2RlPScsXHJcbiAgbGVmdE1lbnVMb2dvOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xvZ28vcHJvZC92LWxvZ28uc3ZnP3Y9MS4wJyxcclxuICB2TG9hZGVyOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xvZ28vcHJvZC92LWljb24tbG9hZGVyLnN2Zz92PTEuMCcsXHJcbn07XHJcblxyXG4vKlxyXG4gKiBGb3IgZWFzaWVyIGRlYnVnZ2luZyBpbiBkZXZlbG9wbWVudCBtb2RlLCB5b3UgY2FuIGltcG9ydCB0aGUgZm9sbG93aW5nIGZpbGVcclxuICogdG8gaWdub3JlIHpvbmUgcmVsYXRlZCBlcnJvciBzdGFjayBmcmFtZXMgc3VjaCBhcyBgem9uZS5ydW5gLCBgem9uZURlbGVnYXRlLmludm9rZVRhc2tgLlxyXG4gKlxyXG4gKiBUaGlzIGltcG9ydCBzaG91bGQgYmUgY29tbWVudGVkIG91dCBpbiBwcm9kdWN0aW9uIG1vZGUgYmVjYXVzZSBpdCB3aWxsIGhhdmUgYSBuZWdhdGl2ZSBpbXBhY3RcclxuICogb24gcGVyZm9ybWFuY2UgaWYgYW4gZXJyb3IgaXMgdGhyb3duLlxyXG4gKi9cclxuLy8gaW1wb3J0ICd6b25lLmpzL3BsdWdpbnMvem9uZS1lcnJvcic7ICAvLyBJbmNsdWRlZCB3aXRoIEFuZ3VsYXIgQ0xJLlxyXG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Directive, Input } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./feature-flag.service";
|
|
4
|
+
export class FeatureFlagDirective {
|
|
5
|
+
constructor(tpl, vcr, featureFlagService) {
|
|
6
|
+
this.tpl = tpl;
|
|
7
|
+
this.vcr = vcr;
|
|
8
|
+
this.featureFlagService = featureFlagService;
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
const isEnabled = this.featureFlagService.isFeatureEnabled(this.featureFlag);
|
|
12
|
+
if (isEnabled) {
|
|
13
|
+
this.vcr.createEmbeddedView(this.tpl);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
FeatureFlagDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.FeatureFlagService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
+
FeatureFlagDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: FeatureFlagDirective, selector: "[featureFlag]", inputs: { featureFlag: "featureFlag" }, ngImport: i0 });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagDirective, decorators: [{
|
|
20
|
+
type: Directive,
|
|
21
|
+
args: [{
|
|
22
|
+
selector: "[featureFlag]"
|
|
23
|
+
}]
|
|
24
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.FeatureFlagService }]; }, propDecorators: { featureFlag: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mbGFnLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvZmVhdHVyZUZsYWcvZmVhdHVyZS1mbGFnLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFJTixNQUFNLGVBQWUsQ0FBQzs7O0FBT3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFDVSxHQUFxQixFQUNyQixHQUFxQixFQUNyQixrQkFBc0M7UUFGdEMsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUM3QyxDQUFDO0lBRUosUUFBUTtRQUNOLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0UsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7O2lIQWJVLG9CQUFvQjtxR0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCO2tLQUVVLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZlYXR1cmVGbGFnU2VydmljZSB9IGZyb20gXCIuL2ZlYXR1cmUtZmxhZy5zZXJ2aWNlXCI7XHJcblxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiW2ZlYXR1cmVGbGFnXVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGZWF0dXJlRmxhZ0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZmVhdHVyZUZsYWchOiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRwbDogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHByaXZhdGUgdmNyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBmZWF0dXJlRmxhZ1NlcnZpY2U6IEZlYXR1cmVGbGFnU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCBpc0VuYWJsZWQgPSB0aGlzLmZlYXR1cmVGbGFnU2VydmljZS5pc0ZlYXR1cmVFbmFibGVkKHRoaXMuZmVhdHVyZUZsYWcpO1xyXG4gICAgaWYgKGlzRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLnZjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50cGwpO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FeatureFlagDirective } from './feature-flag.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class FeatureFlagModule {
|
|
6
|
+
}
|
|
7
|
+
FeatureFlagModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
FeatureFlagModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagModule, declarations: [FeatureFlagDirective], imports: [CommonModule], exports: [FeatureFlagDirective] });
|
|
9
|
+
FeatureFlagModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagModule, imports: [[
|
|
10
|
+
CommonModule
|
|
11
|
+
]] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
declarations: [FeatureFlagDirective],
|
|
16
|
+
imports: [
|
|
17
|
+
CommonModule
|
|
18
|
+
],
|
|
19
|
+
exports: [FeatureFlagDirective]
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mbGFnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvZmVhdHVyZUZsYWcvZmVhdHVyZS1mbGFnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFXaEUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQU5iLG9CQUFvQixhQUVqQyxZQUFZLGFBRUwsb0JBQW9COytHQUVsQixpQkFBaUIsWUFMbkI7WUFDUCxZQUFZO1NBQ2I7MkZBR1UsaUJBQWlCO2tCQVA3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUMsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGZWF0dXJlRmxhZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZmVhdHVyZS1mbGFnLmRpcmVjdGl2ZSc7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRmVhdHVyZUZsYWdEaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czpbRmVhdHVyZUZsYWdEaXJlY3RpdmVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGZWF0dXJlRmxhZ01vZHVsZSB7IH1cclxuIl19
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { retry } from 'rxjs/operators';
|
|
3
|
+
import { environment } from '../../environments/environment';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
import * as i2 from "@vcomply/authorizer";
|
|
7
|
+
export class FeatureFlagService {
|
|
8
|
+
constructor(http, authorizer) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.authorizer = authorizer;
|
|
11
|
+
this.flagFetchError = false;
|
|
12
|
+
this.featuresMap = {};
|
|
13
|
+
this.AWSFlags = {};
|
|
14
|
+
}
|
|
15
|
+
fetchFlags() {
|
|
16
|
+
return this.http.get(environment.baseUrl + 'features').pipe(retry(2));
|
|
17
|
+
}
|
|
18
|
+
loadConfig() {
|
|
19
|
+
if (this.flagSubscription) {
|
|
20
|
+
this.flagSubscription.unsubscribe();
|
|
21
|
+
}
|
|
22
|
+
return new Promise((resolve, reject) => {
|
|
23
|
+
this.flagSubscription = this.fetchFlags().subscribe({
|
|
24
|
+
next: (res) => {
|
|
25
|
+
try {
|
|
26
|
+
resolve(true);
|
|
27
|
+
this.flagFetchError = false;
|
|
28
|
+
this.AWSFlags = res;
|
|
29
|
+
this.buildFeatureFlags(this.authorizer.getOrganizationId());
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
reject(error);
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
error: (err) => {
|
|
36
|
+
reject(true);
|
|
37
|
+
this.flagFetchError = true;
|
|
38
|
+
console.log('An error occurred while fetching feature flags', err);
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
buildFeatureFlags(orgId) {
|
|
44
|
+
orgId = orgId?.toString();
|
|
45
|
+
const enabledFeatures = {};
|
|
46
|
+
Object.keys(this.AWSFlags).forEach((flag) => {
|
|
47
|
+
const flagObj = this.AWSFlags[flag];
|
|
48
|
+
enabledFeatures[flag] = false;
|
|
49
|
+
if (flagObj) {
|
|
50
|
+
if (flagObj?.enabled && !flagObj.hasOwnProperty('enabledOrgIds')) {
|
|
51
|
+
enabledFeatures[flag] = true;
|
|
52
|
+
}
|
|
53
|
+
else if (flagObj?.enabled &&
|
|
54
|
+
flagObj.hasOwnProperty('enabledOrgIds') &&
|
|
55
|
+
flagObj?.enabledOrgIds?.length > 0) {
|
|
56
|
+
if (flagObj?.enabledOrgIds?.includes(orgId)) {
|
|
57
|
+
enabledFeatures[flag] = true;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
enabledFeatures[flag] = false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
if (flagObj?.enabled) {
|
|
65
|
+
enabledFeatures[flag] = true;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
enabledFeatures[flag] = false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
enabledFeatures[flag] = true;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
this.featuresMap = enabledFeatures;
|
|
77
|
+
}
|
|
78
|
+
isFeatureEnabled(featureFlag) {
|
|
79
|
+
if (this.featuresMap.hasOwnProperty(featureFlag)) {
|
|
80
|
+
return this.featuresMap[featureFlag];
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
FeatureFlagService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagService, deps: [{ token: i1.HttpClient }, { token: i2.AuthorizerService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
88
|
+
FeatureFlagService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagService, providedIn: 'root' });
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagService, decorators: [{
|
|
90
|
+
type: Injectable,
|
|
91
|
+
args: [{
|
|
92
|
+
providedIn: 'root',
|
|
93
|
+
}]
|
|
94
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AuthorizerService }]; } });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mbGFnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL2ZlYXR1cmVGbGFnL2ZlYXR1cmUtZmxhZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQUk3RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsSUFBZ0IsRUFDaEIsVUFBNkI7UUFEN0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUd2QyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QixhQUFRLEdBQVEsRUFBRSxDQUFDO0lBSmhCLENBQUM7SUFPSixVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNyQztRQUNELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUM7Z0JBQ2xELElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUNqQixJQUFJO3dCQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDZCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQzt3QkFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7d0JBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztxQkFDN0Q7b0JBQUMsT0FBTyxLQUFLLEVBQUU7d0JBQ2QsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUNmO2dCQUNILENBQUM7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7b0JBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDYixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztvQkFDM0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDckUsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVU7UUFDMUIsS0FBSyxHQUFHLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUMxQixNQUFNLGVBQWUsR0FBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzlCLElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksT0FBTyxFQUFFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUU7b0JBQ2hFLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7aUJBQzlCO3FCQUFNLElBQ0wsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO29CQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQ2xDO29CQUNBLElBQUksT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7d0JBQzNDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7cUJBQzlCO3lCQUFNO3dCQUNMLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7cUJBQy9CO2lCQUNGO3FCQUFNO29CQUNMLElBQUksT0FBTyxFQUFFLE9BQU8sRUFBRTt3QkFDcEIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztxQkFDOUI7eUJBQU07d0JBQ0wsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztxQkFDL0I7aUJBQ0Y7YUFDRjtpQkFBTTtnQkFDTCxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsV0FBbUI7UUFDbEMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzsrR0EvRVUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXV0aG9yaXplclNlcnZpY2UgfSBmcm9tICdAdmNvbXBseS9hdXRob3JpemVyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVGbGFnU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGF1dGhvcml6ZXI6IEF1dGhvcml6ZXJTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBmbGFnRmV0Y2hFcnJvciA9IGZhbHNlO1xyXG4gIGZlYXR1cmVzTWFwOiBhbnkgPSB7fTtcclxuICBBV1NGbGFnczogYW55ID0ge307XHJcbiAgZmxhZ1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgZmV0Y2hGbGFncygpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGVudmlyb25tZW50LmJhc2VVcmwgKyAnZmVhdHVyZXMnKS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGxvYWRDb25maWcoKSB7XHJcbiAgICBpZiAodGhpcy5mbGFnU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuZmxhZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5mbGFnU3Vic2NyaXB0aW9uID0gdGhpcy5mZXRjaEZsYWdzKCkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZmxhZ0ZldGNoRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5BV1NGbGFncyA9IHJlcztcclxuICAgICAgICAgICAgdGhpcy5idWlsZEZlYXR1cmVGbGFncyh0aGlzLmF1dGhvcml6ZXIuZ2V0T3JnYW5pemF0aW9uSWQoKSk7XHJcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmVqZWN0KHRydWUpO1xyXG4gICAgICAgICAgdGhpcy5mbGFnRmV0Y2hFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZmV0Y2hpbmcgZmVhdHVyZSBmbGFncycsIGVycik7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGJ1aWxkRmVhdHVyZUZsYWdzKG9yZ0lkOiBhbnkpIHtcclxuICAgIG9yZ0lkID0gb3JnSWQ/LnRvU3RyaW5nKCk7XHJcbiAgICBjb25zdCBlbmFibGVkRmVhdHVyZXM6IGFueSA9IHt9O1xyXG4gICAgT2JqZWN0LmtleXModGhpcy5BV1NGbGFncykuZm9yRWFjaCgoZmxhZzogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IGZsYWdPYmogPSB0aGlzLkFXU0ZsYWdzW2ZsYWddO1xyXG4gICAgICBlbmFibGVkRmVhdHVyZXNbZmxhZ10gPSBmYWxzZTtcclxuICAgICAgaWYgKGZsYWdPYmopIHtcclxuICAgICAgICBpZiAoZmxhZ09iaj8uZW5hYmxlZCAmJiAhZmxhZ09iai5oYXNPd25Qcm9wZXJ0eSgnZW5hYmxlZE9yZ0lkcycpKSB7XHJcbiAgICAgICAgICBlbmFibGVkRmVhdHVyZXNbZmxhZ10gPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgICBmbGFnT2JqPy5lbmFibGVkICYmXHJcbiAgICAgICAgICBmbGFnT2JqLmhhc093blByb3BlcnR5KCdlbmFibGVkT3JnSWRzJykgJiZcclxuICAgICAgICAgIGZsYWdPYmo/LmVuYWJsZWRPcmdJZHM/Lmxlbmd0aCA+IDBcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGlmIChmbGFnT2JqPy5lbmFibGVkT3JnSWRzPy5pbmNsdWRlcyhvcmdJZCkpIHtcclxuICAgICAgICAgICAgZW5hYmxlZEZlYXR1cmVzW2ZsYWddID0gdHJ1ZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGVuYWJsZWRGZWF0dXJlc1tmbGFnXSA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoZmxhZ09iaj8uZW5hYmxlZCkge1xyXG4gICAgICAgICAgICBlbmFibGVkRmVhdHVyZXNbZmxhZ10gPSB0cnVlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZW5hYmxlZEZlYXR1cmVzW2ZsYWddID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGVuYWJsZWRGZWF0dXJlc1tmbGFnXSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5mZWF0dXJlc01hcCA9IGVuYWJsZWRGZWF0dXJlcztcclxuICB9XHJcblxyXG4gIGlzRmVhdHVyZUVuYWJsZWQoZmVhdHVyZUZsYWc6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuZmVhdHVyZXNNYXAuaGFzT3duUHJvcGVydHkoZmVhdHVyZUZsYWcpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZlYXR1cmVzTWFwW2ZlYXR1cmVGbGFnXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -5,24 +5,31 @@ import { catchError, tap, timeout } from 'rxjs/operators';
|
|
|
5
5
|
import { API_TIMEOUT_TIME } from '../constants/error-handling.constants';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../services/global-error.service";
|
|
8
|
+
import * as i2 from "../../featureFlag/feature-flag.service";
|
|
8
9
|
export class HttpReqInterceptor {
|
|
9
|
-
constructor(errorService) {
|
|
10
|
+
constructor(errorService, featureFlagService) {
|
|
10
11
|
this.errorService = errorService;
|
|
12
|
+
this.featureFlagService = featureFlagService;
|
|
11
13
|
}
|
|
12
14
|
intercept(req, next) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
if (this.featureFlagService.isFeatureEnabled('ff_error_handling')) {
|
|
16
|
+
return next.handle(req).pipe(timeout(API_TIMEOUT_TIME), tap((event) => {
|
|
17
|
+
if (event instanceof HttpResponse) {
|
|
18
|
+
this.errorService.handleSoftErrors(event);
|
|
19
|
+
}
|
|
20
|
+
}), catchError((error) => {
|
|
21
|
+
this.errorService.handleError(error, req);
|
|
22
|
+
return throwError(error);
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
return next.handle(req);
|
|
27
|
+
}
|
|
21
28
|
}
|
|
22
29
|
}
|
|
23
|
-
HttpReqInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor, deps: [{ token: i1.GlobalErrorService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
HttpReqInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor, deps: [{ token: i1.GlobalErrorService }, { token: i2.FeatureFlagService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
31
|
HttpReqInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor });
|
|
25
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor, decorators: [{
|
|
26
33
|
type: Injectable
|
|
27
|
-
}], ctorParameters: function () { return [{ type: i1.GlobalErrorService }]; } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i1.GlobalErrorService }, { type: i2.FeatureFlagService }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWVycm9yLWhhbmRsZXJzL3NyYy9saWIvc2hhcmVkL2ludGVyY2VwdG9ycy9odHRwLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQU1MLFlBQVksR0FDYixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7QUFHekUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNVLFlBQWdDLEVBQ2hDLGtCQUFzQztRQUR0QyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUM3QyxDQUFDO0lBRUosU0FBUyxDQUNQLEdBQXFCLEVBQ3JCLElBQWlCO1FBRWpCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDakUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDMUIsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQ3pCLEdBQUcsQ0FBQyxDQUFDLEtBQXFCLEVBQUUsRUFBRTtnQkFDNUIsSUFBSSxLQUFLLFlBQVksWUFBWSxFQUFFO29CQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMzQztZQUNILENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7OytHQTFCVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEh0dHBSZXF1ZXN0LFxyXG4gIEh0dHBIYW5kbGVyLFxyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwSW50ZXJjZXB0b3IsXHJcbiAgSHR0cEVycm9yUmVzcG9uc2UsXHJcbiAgSHR0cFJlc3BvbnNlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YXAsIHRpbWVvdXQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBHbG9iYWxFcnJvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9nbG9iYWwtZXJyb3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IEZlYXR1cmVGbGFnU2VydmljZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmVGbGFnL2ZlYXR1cmUtZmxhZy5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEFQSV9USU1FT1VUX1RJTUUgfSBmcm9tICcuLi9jb25zdGFudHMvZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBSZXFJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVycm9yU2VydmljZTogR2xvYmFsRXJyb3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmZWF0dXJlRmxhZ1NlcnZpY2U6IEZlYXR1cmVGbGFnU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgaW50ZXJjZXB0KFxyXG4gICAgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICBpZiAodGhpcy5mZWF0dXJlRmxhZ1NlcnZpY2UuaXNGZWF0dXJlRW5hYmxlZCgnZmZfZXJyb3JfaGFuZGxpbmcnKSkge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxyXG4gICAgICAgIHRpbWVvdXQoQVBJX1RJTUVPVVRfVElNRSksXHJcbiAgICAgICAgdGFwKChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcclxuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgICB0aGlzLmVycm9yU2VydmljZS5oYW5kbGVTb2Z0RXJyb3JzKGV2ZW50KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yLCByZXEpO1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -5,6 +5,7 @@ import { PageNotFoundComponent } from './shared/components/page-not-found/page-n
|
|
|
5
5
|
import { VcErrorHandlersComponent } from './vc-error-handlers.component';
|
|
6
6
|
import { DialogModule } from './ui-kit/dialog/dialog.module';
|
|
7
7
|
import { SnackBarModule } from './ui-kit/snack-bar/snack-bar.module';
|
|
8
|
+
import { FeatureFlagModule } from './featureFlag/feature-flag.module';
|
|
8
9
|
import { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';
|
|
9
10
|
import { Configurations } from './configuration';
|
|
10
11
|
import { UnauthorizedComponent } from './shared/components/unauthorized/unauthorized.component';
|
|
@@ -15,8 +16,13 @@ import { HttpReqInterceptor } from './shared/interceptors/http.interceptor';
|
|
|
15
16
|
import { ErrorModalComponent } from './shared/components/error-modal/error-modal.component';
|
|
16
17
|
import { ComponentLevelServerErrorComponent } from './shared/components/component-level-server-error/component-level-server-error.component';
|
|
17
18
|
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "./featureFlag/feature-flag.service";
|
|
18
20
|
export const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorHandler options');
|
|
19
21
|
export class VcErrorHandlersModule {
|
|
22
|
+
constructor(loadConfig) {
|
|
23
|
+
this.loadConfig = loadConfig;
|
|
24
|
+
this.loadConfig.loadConfig();
|
|
25
|
+
}
|
|
20
26
|
static forRoot(environmentConfig) {
|
|
21
27
|
return {
|
|
22
28
|
ngModule: VcErrorHandlersModule,
|
|
@@ -24,7 +30,7 @@ export class VcErrorHandlersModule {
|
|
|
24
30
|
};
|
|
25
31
|
}
|
|
26
32
|
}
|
|
27
|
-
VcErrorHandlersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
33
|
+
VcErrorHandlersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, deps: [{ token: i1.FeatureFlagService }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
28
34
|
VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, bootstrap: [VcErrorHandlersComponent], declarations: [VcErrorHandlersComponent,
|
|
29
35
|
PageNotFoundComponent,
|
|
30
36
|
UnauthorizedComponent,
|
|
@@ -32,7 +38,7 @@ VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
|
|
|
32
38
|
ChunkUnavailableComponent,
|
|
33
39
|
ServerErrorComponent,
|
|
34
40
|
ErrorModalComponent,
|
|
35
|
-
ComponentLevelServerErrorComponent], imports: [CommonModule, DialogModule, SnackBarModule], exports: [VcErrorHandlersComponent,
|
|
41
|
+
ComponentLevelServerErrorComponent], imports: [CommonModule, DialogModule, SnackBarModule, FeatureFlagModule], exports: [VcErrorHandlersComponent,
|
|
36
42
|
PageNotFoundComponent,
|
|
37
43
|
UnauthorizedComponent,
|
|
38
44
|
SessionExpiredComponent,
|
|
@@ -43,7 +49,7 @@ VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
|
|
|
43
49
|
VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, providers: [
|
|
44
50
|
{ provide: ErrorHandler, useClass: SentryErrorHandler },
|
|
45
51
|
{ provide: HTTP_INTERCEPTORS, useClass: HttpReqInterceptor, multi: true },
|
|
46
|
-
], imports: [[CommonModule, DialogModule, SnackBarModule]] });
|
|
52
|
+
], imports: [[CommonModule, DialogModule, SnackBarModule, FeatureFlagModule]] });
|
|
47
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, decorators: [{
|
|
48
54
|
type: NgModule,
|
|
49
55
|
args: [{
|
|
@@ -57,7 +63,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
57
63
|
ErrorModalComponent,
|
|
58
64
|
ComponentLevelServerErrorComponent,
|
|
59
65
|
],
|
|
60
|
-
imports: [CommonModule, DialogModule, SnackBarModule],
|
|
66
|
+
imports: [CommonModule, DialogModule, SnackBarModule, FeatureFlagModule],
|
|
61
67
|
exports: [
|
|
62
68
|
VcErrorHandlersComponent,
|
|
63
69
|
PageNotFoundComponent,
|
|
@@ -74,5 +80,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
|
|
|
74
80
|
],
|
|
75
81
|
bootstrap: [VcErrorHandlersComponent],
|
|
76
82
|
}]
|
|
77
|
-
}] });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
}], ctorParameters: function () { return [{ type: i1.FeatureFlagService }]; } });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBRWQsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBTXRFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5RkFBeUYsQ0FBQzs7O0FBRTdJLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUM3RCxzQ0FBc0MsQ0FDdkMsQ0FBQztBQThCRixNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLFVBQThCO1FBQTlCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQ25CLGlCQUFpQztRQUVqQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHFCQUFxQjtZQUMvQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUM7U0FDdEUsQ0FBQztJQUNKLENBQUM7O2tIQVpVLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRnBCLHdCQUF3QixrQkF4QmxDLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQixrQ0FBa0MsYUFFMUIsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLGFBRXJFLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQixrQ0FBa0M7bUhBUXpCLHFCQUFxQixhQU5yQjtRQUNULEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7UUFDdkQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7S0FDMUUsWUFkUSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDOzJGQWlCN0QscUJBQXFCO2tCQTVCakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDO29CQUN4RSxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixrQ0FBa0M7cUJBQ25DO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO3dCQUN2RCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDMUU7b0JBQ0QsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBFcnJvckhhbmRsZXIsXHJcbiAgSW5qZWN0aW9uVG9rZW4sXHJcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcclxuICBOZ01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBQYWdlTm90Rm91bmRDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL3BhZ2Utbm90LWZvdW5kL3BhZ2Utbm90LWZvdW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudCB9IGZyb20gJy4vdmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJy4vdWkta2l0L2RpYWxvZy9kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHsgU25hY2tCYXJNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZlYXR1cmVGbGFnTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlRmxhZy9mZWF0dXJlLWZsYWcubW9kdWxlJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmVGbGFnU2VydmljZSB9IGZyb20gJy4vZmVhdHVyZUZsYWcvZmVhdHVyZS1mbGFnLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQnJvd3Nlck9wdGlvbnMgfSBmcm9tICdAc2VudHJ5L2Jyb3dzZXInO1xyXG5pbXBvcnQgeyBHbG9iYWxFcnJvckhhbmRsZXIgfSBmcm9tICcuL3NoYXJlZC9lcnJvcmhhbmRsZXIvY2h1bmstZXJyb3IuaGFuZGxlcic7XHJcbmltcG9ydCB7IFNlbnRyeUVycm9ySGFuZGxlciB9IGZyb20gJy4vc2hhcmVkL2Vycm9yaGFuZGxlci9zZW50cnktZXJyb3IuaGFuZGxlcic7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgVW5hdXRob3JpemVkQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy91bmF1dGhvcml6ZWQvdW5hdXRob3JpemVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlc3Npb25FeHBpcmVkQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9zZXNzaW9uLWV4cGlyZWQvc2Vzc2lvbi1leHBpcmVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENodW5rVW5hdmFpbGFibGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL2NodW5rLXVuYXZhaWxhYmxlL2NodW5rLXVuYXZhaWxhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlcnZlckVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9zZXJ2ZXItZXJyb3Ivc2VydmVyLWVycm9yLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBIdHRwUmVxSW50ZXJjZXB0b3IgfSBmcm9tICcuL3NoYXJlZC9pbnRlcmNlcHRvcnMvaHR0cC5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IEVycm9yTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL2Vycm9yLW1vZGFsL2Vycm9yLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudExldmVsU2VydmVyRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL2NvbXBvbmVudC1sZXZlbC1zZXJ2ZXItZXJyb3IvY29tcG9uZW50LWxldmVsLXNlcnZlci1lcnJvci5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEZPUl9ST09UX1NFTlRSWV9PUFRJT05TX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEJyb3dzZXJPcHRpb25zPihcclxuICAnZm9yUm9vdCgpIFNlbnRyeUVycm9ySGFuZGxlciBvcHRpb25zJ1xyXG4pO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudCxcclxuICAgIFBhZ2VOb3RGb3VuZENvbXBvbmVudCxcclxuICAgIFVuYXV0aG9yaXplZENvbXBvbmVudCxcclxuICAgIFNlc3Npb25FeHBpcmVkQ29tcG9uZW50LFxyXG4gICAgQ2h1bmtVbmF2YWlsYWJsZUNvbXBvbmVudCxcclxuICAgIFNlcnZlckVycm9yQ29tcG9uZW50LFxyXG4gICAgRXJyb3JNb2RhbENvbXBvbmVudCxcclxuICAgIENvbXBvbmVudExldmVsU2VydmVyRXJyb3JDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEaWFsb2dNb2R1bGUsIFNuYWNrQmFyTW9kdWxlLCBGZWF0dXJlRmxhZ01vZHVsZV0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50LFxyXG4gICAgUGFnZU5vdEZvdW5kQ29tcG9uZW50LFxyXG4gICAgVW5hdXRob3JpemVkQ29tcG9uZW50LFxyXG4gICAgU2Vzc2lvbkV4cGlyZWRDb21wb25lbnQsXHJcbiAgICBDaHVua1VuYXZhaWxhYmxlQ29tcG9uZW50LFxyXG4gICAgU2VydmVyRXJyb3JDb21wb25lbnQsXHJcbiAgICBFcnJvck1vZGFsQ29tcG9uZW50LFxyXG4gICAgQ29tcG9uZW50TGV2ZWxTZXJ2ZXJFcnJvckNvbXBvbmVudCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBFcnJvckhhbmRsZXIsIHVzZUNsYXNzOiBTZW50cnlFcnJvckhhbmRsZXIgfSxcclxuICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBIdHRwUmVxSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXHJcbiAgXSxcclxuICBib290c3RyYXA6IFtWY0Vycm9ySGFuZGxlcnNDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzTW9kdWxlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvYWRDb25maWc6IEZlYXR1cmVGbGFnU2VydmljZSkge1xyXG4gICAgdGhpcy5sb2FkQ29uZmlnLmxvYWRDb25maWcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChcclxuICAgIGVudmlyb25tZW50Q29uZmlnOiBDb25maWd1cmF0aW9uc1xyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VmNFcnJvckhhbmRsZXJzTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogVmNFcnJvckhhbmRsZXJzTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbmZpZ3VyYXRpb25zLCB1c2VWYWx1ZTogZW52aXJvbm1lbnRDb25maWcgfV0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|