vc-error-handlers 0.1.95 → 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.
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBRWQsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5RkFBeUYsQ0FBQzs7QUFFN0ksTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQzdELHNDQUFzQyxDQUN2QyxDQUFDO0FBOEJGLE1BQU0sT0FBTyxxQkFBcUI7SUFDekIsTUFBTSxDQUFDLE9BQU8sQ0FDbkIsaUJBQWlDO1FBRWpDLE9BQU87WUFDTCxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztTQUN0RSxDQUFDO0lBQ0osQ0FBQzs7a0hBUlUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FGcEIsd0JBQXdCLGtCQXhCbEMsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6QixvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLGtDQUFrQyxhQUUxQixZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsYUFFbEQsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6QixvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLGtDQUFrQzttSEFRekIscUJBQXFCLGFBTnJCO1FBQ1QsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtRQUN2RCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtLQUMxRSxZQWRRLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUM7MkZBaUIxQyxxQkFBcUI7a0JBNUJqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUM7b0JBQ3JELE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGtDQUFrQztxQkFDbkM7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7d0JBQ3ZELEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUMxRTtvQkFDRCxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEVycm9ySGFuZGxlcixcclxuICBJbmplY3Rpb25Ub2tlbixcclxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxyXG4gIE5nTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IFBhZ2VOb3RGb3VuZENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvcGFnZS1ub3QtZm91bmQvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50IH0gZnJvbSAnLi92Yy1lcnJvci1oYW5kbGVycy5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvZGlhbG9nL2RpYWxvZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbmFja0Jhck1vZHVsZSB9IGZyb20gJy4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIubW9kdWxlJztcclxuXHJcbmltcG9ydCB7IEJyb3dzZXJPcHRpb25zIH0gZnJvbSAnQHNlbnRyeS9icm93c2VyJztcclxuaW1wb3J0IHsgR2xvYmFsRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9zaGFyZWQvZXJyb3JoYW5kbGVyL2NodW5rLWVycm9yLmhhbmRsZXInO1xyXG5pbXBvcnQgeyBTZW50cnlFcnJvckhhbmRsZXIgfSBmcm9tICcuL3NoYXJlZC9lcnJvcmhhbmRsZXIvc2VudHJ5LWVycm9yLmhhbmRsZXInO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4vY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IFVuYXV0aG9yaXplZENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvdW5hdXRob3JpemVkL3VuYXV0aG9yaXplZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXNzaW9uRXhwaXJlZENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvc2Vzc2lvbi1leHBpcmVkL3Nlc3Npb24tZXhwaXJlZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaHVua1VuYXZhaWxhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9jaHVuay11bmF2YWlsYWJsZS9jaHVuay11bmF2YWlsYWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXJ2ZXJFcnJvckNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMvc2VydmVyLWVycm9yL3NlcnZlci1lcnJvci5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgSHR0cFJlcUludGVyY2VwdG9yIH0gZnJvbSAnLi9zaGFyZWQvaW50ZXJjZXB0b3JzL2h0dHAuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBFcnJvck1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9lcnJvci1tb2RhbC9lcnJvci1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRMZXZlbFNlcnZlckVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9jb21wb25lbnQtbGV2ZWwtc2VydmVyLWVycm9yL2NvbXBvbmVudC1sZXZlbC1zZXJ2ZXItZXJyb3IuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjb25zdCBGT1JfUk9PVF9TRU5UUllfT1BUSU9OU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm93c2VyT3B0aW9ucz4oXHJcbiAgJ2ZvclJvb3QoKSBTZW50cnlFcnJvckhhbmRsZXIgb3B0aW9ucydcclxuKTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBWY0Vycm9ySGFuZGxlcnNDb21wb25lbnQsXHJcbiAgICBQYWdlTm90Rm91bmRDb21wb25lbnQsXHJcbiAgICBVbmF1dGhvcml6ZWRDb21wb25lbnQsXHJcbiAgICBTZXNzaW9uRXhwaXJlZENvbXBvbmVudCxcclxuICAgIENodW5rVW5hdmFpbGFibGVDb21wb25lbnQsXHJcbiAgICBTZXJ2ZXJFcnJvckNvbXBvbmVudCxcclxuICAgIEVycm9yTW9kYWxDb21wb25lbnQsXHJcbiAgICBDb21wb25lbnRMZXZlbFNlcnZlckVycm9yQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRGlhbG9nTW9kdWxlLCBTbmFja0Jhck1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50LFxyXG4gICAgUGFnZU5vdEZvdW5kQ29tcG9uZW50LFxyXG4gICAgVW5hdXRob3JpemVkQ29tcG9uZW50LFxyXG4gICAgU2Vzc2lvbkV4cGlyZWRDb21wb25lbnQsXHJcbiAgICBDaHVua1VuYXZhaWxhYmxlQ29tcG9uZW50LFxyXG4gICAgU2VydmVyRXJyb3JDb21wb25lbnQsXHJcbiAgICBFcnJvck1vZGFsQ29tcG9uZW50LFxyXG4gICAgQ29tcG9uZW50TGV2ZWxTZXJ2ZXJFcnJvckNvbXBvbmVudCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBFcnJvckhhbmRsZXIsIHVzZUNsYXNzOiBTZW50cnlFcnJvckhhbmRsZXIgfSxcclxuICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBIdHRwUmVxSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXHJcbiAgXSxcclxuICBib290c3RyYXA6IFtWY0Vycm9ySGFuZGxlcnNDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzTW9kdWxlIHtcclxuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoXHJcbiAgICBlbnZpcm9ubWVudENvbmZpZzogQ29uZmlndXJhdGlvbnNcclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFZjRXJyb3JIYW5kbGVyc01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFZjRXJyb3JIYW5kbGVyc01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb25maWd1cmF0aW9ucywgdXNlVmFsdWU6IGVudmlyb25tZW50Q29uZmlnIH1dLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
83
+ }], ctorParameters: function () { return [{ type: i1.FeatureFlagService }]; } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtZXJyb3ItaGFuZGxlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi92Yy1lcnJvci1oYW5kbGVycy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBRWQsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBTXRFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5RkFBeUYsQ0FBQzs7O0FBRTdJLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUM3RCxzQ0FBc0MsQ0FDdkMsQ0FBQztBQThCRixNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLFVBQThCO1FBQTlCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQ25CLGlCQUFpQztRQUVqQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHFCQUFxQjtZQUMvQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUM7U0FDdEUsQ0FBQztJQUNKLENBQUM7O2tIQVpVLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRnBCLHdCQUF3QixrQkF4QmxDLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQixrQ0FBa0MsYUFFMUIsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLGFBRXJFLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQixrQ0FBa0M7bUhBUXpCLHFCQUFxQixhQU5yQjtRQUNULEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7UUFDdkQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7S0FDMUUsWUFkUSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDOzJGQWlCN0QscUJBQXFCO2tCQTVCakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDO29CQUN4RSxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixrQ0FBa0M7cUJBQ25DO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO3dCQUN2RCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDMUU7b0JBQ0QsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBFcnJvckhhbmRsZXIsXHJcbiAgSW5qZWN0aW9uVG9rZW4sXHJcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcclxuICBOZ01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBQYWdlTm90Rm91bmRDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL3BhZ2Utbm90LWZvdW5kL3BhZ2Utbm90LWZvdW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudCB9IGZyb20gJy4vdmMtZXJyb3ItaGFuZGxlcnMuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJy4vdWkta2l0L2RpYWxvZy9kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHsgU25hY2tCYXJNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZlYXR1cmVGbGFnTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlRmxhZy9mZWF0dXJlLWZsYWcubW9kdWxlJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmVGbGFnU2VydmljZSB9IGZyb20gJy4vZmVhdHVyZUZsYWcvZmVhdHVyZS1mbGFnLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQnJvd3Nlck9wdGlvbnMgfSBmcm9tICdAc2VudHJ5L2Jyb3dzZXInO1xyXG5pbXBvcnQgeyBHbG9iYWxFcnJvckhhbmRsZXIgfSBmcm9tICcuL3NoYXJlZC9lcnJvcmhhbmRsZXIvY2h1bmstZXJyb3IuaGFuZGxlcic7XHJcbmltcG9ydCB7IFNlbnRyeUVycm9ySGFuZGxlciB9IGZyb20gJy4vc2hhcmVkL2Vycm9yaGFuZGxlci9zZW50cnktZXJyb3IuaGFuZGxlcic7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgVW5hdXRob3JpemVkQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy91bmF1dGhvcml6ZWQvdW5hdXRob3JpemVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlc3Npb25FeHBpcmVkQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9zZXNzaW9uLWV4cGlyZWQvc2Vzc2lvbi1leHBpcmVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENodW5rVW5hdmFpbGFibGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL2NodW5rLXVuYXZhaWxhYmxlL2NodW5rLXVuYXZhaWxhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlcnZlckVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50cy9zZXJ2ZXItZXJyb3Ivc2VydmVyLWVycm9yLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBIdHRwUmVxSW50ZXJjZXB0b3IgfSBmcm9tICcuL3NoYXJlZC9pbnRlcmNlcHRvcnMvaHR0cC5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IEVycm9yTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL2Vycm9yLW1vZGFsL2Vycm9yLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudExldmVsU2VydmVyRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL2NvbXBvbmVudC1sZXZlbC1zZXJ2ZXItZXJyb3IvY29tcG9uZW50LWxldmVsLXNlcnZlci1lcnJvci5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEZPUl9ST09UX1NFTlRSWV9PUFRJT05TX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEJyb3dzZXJPcHRpb25zPihcclxuICAnZm9yUm9vdCgpIFNlbnRyeUVycm9ySGFuZGxlciBvcHRpb25zJ1xyXG4pO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFZjRXJyb3JIYW5kbGVyc0NvbXBvbmVudCxcclxuICAgIFBhZ2VOb3RGb3VuZENvbXBvbmVudCxcclxuICAgIFVuYXV0aG9yaXplZENvbXBvbmVudCxcclxuICAgIFNlc3Npb25FeHBpcmVkQ29tcG9uZW50LFxyXG4gICAgQ2h1bmtVbmF2YWlsYWJsZUNvbXBvbmVudCxcclxuICAgIFNlcnZlckVycm9yQ29tcG9uZW50LFxyXG4gICAgRXJyb3JNb2RhbENvbXBvbmVudCxcclxuICAgIENvbXBvbmVudExldmVsU2VydmVyRXJyb3JDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEaWFsb2dNb2R1bGUsIFNuYWNrQmFyTW9kdWxlLCBGZWF0dXJlRmxhZ01vZHVsZV0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVmNFcnJvckhhbmRsZXJzQ29tcG9uZW50LFxyXG4gICAgUGFnZU5vdEZvdW5kQ29tcG9uZW50LFxyXG4gICAgVW5hdXRob3JpemVkQ29tcG9uZW50LFxyXG4gICAgU2Vzc2lvbkV4cGlyZWRDb21wb25lbnQsXHJcbiAgICBDaHVua1VuYXZhaWxhYmxlQ29tcG9uZW50LFxyXG4gICAgU2VydmVyRXJyb3JDb21wb25lbnQsXHJcbiAgICBFcnJvck1vZGFsQ29tcG9uZW50LFxyXG4gICAgQ29tcG9uZW50TGV2ZWxTZXJ2ZXJFcnJvckNvbXBvbmVudCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBFcnJvckhhbmRsZXIsIHVzZUNsYXNzOiBTZW50cnlFcnJvckhhbmRsZXIgfSxcclxuICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBIdHRwUmVxSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXHJcbiAgXSxcclxuICBib290c3RyYXA6IFtWY0Vycm9ySGFuZGxlcnNDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmNFcnJvckhhbmRsZXJzTW9kdWxlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvYWRDb25maWc6IEZlYXR1cmVGbGFnU2VydmljZSkge1xyXG4gICAgdGhpcy5sb2FkQ29uZmlnLmxvYWRDb25maWcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChcclxuICAgIGVudmlyb25tZW50Q29uZmlnOiBDb25maWd1cmF0aW9uc1xyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VmNFcnJvckhhbmRsZXJzTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogVmNFcnJvckhhbmRsZXJzTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbmZpZ3VyYXRpb25zLCB1c2VWYWx1ZTogZW52aXJvbm1lbnRDb25maWcgfV0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -6,9 +6,10 @@ import { NavigationStart, NavigationEnd, NavigationError } from '@angular/router
6
6
  import * as i1 from '@vcomply/authorizer';
7
7
  import * as i2 from '@angular/common';
8
8
  import { CommonModule } from '@angular/common';
9
+ import * as i1$1 from '@angular/common/http';
9
10
  import { HttpResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
11
+ import { retry, timeout, tap, catchError } from 'rxjs/operators';
10
12
  import * as Sentry from '@sentry/angular-ivy';
11
- import { timeout, tap, catchError } from 'rxjs/operators';
12
13
 
13
14
  class VcErrorHandlersService {
14
15
  constructor() { }
@@ -189,7 +190,7 @@ const COMPONENT_LEVEL_API_CONFIG = [
189
190
  },
190
191
  {
191
192
  method: 'POST',
192
- path: '/organization_post/?mode=memberDetailsbyIds',
193
+ path: '/organization_post?mode=memberDetailsbyIds',
193
194
  query: null,
194
195
  body: null,
195
196
  },
@@ -213,8 +214,8 @@ const COMPONENT_LEVEL_API_CONFIG = [
213
214
  },
214
215
  {
215
216
  method: 'POST',
216
- path: '/risk?mode=risk/list',
217
- query: { queryPage: 'compliance_workroom' },
217
+ path: 'risk/list',
218
+ query: null,
218
219
  body: null,
219
220
  },
220
221
  {
@@ -271,6 +272,18 @@ const COMPONENT_LEVEL_API_CONFIG = [
271
272
  query: null,
272
273
  body: null,
273
274
  },
275
+ {
276
+ method: 'GET',
277
+ path: '/program/subCategories',
278
+ query: null,
279
+ body: null,
280
+ },
281
+ {
282
+ method: 'POST',
283
+ path: '/Assessment/?mode=assessment/getAssessmentById',
284
+ query: null,
285
+ body: null,
286
+ },
274
287
  ];
275
288
 
276
289
  class SnackBarService {
@@ -413,16 +426,16 @@ class GlobalErrorService {
413
426
  params.keys().forEach((key) => {
414
427
  query[key] = params.get(key);
415
428
  });
416
- console.log('query', query, 'body', body, 'path', path, 'method', method, 'params', params);
417
429
  const isConfigFound = this.componentLevelApiConfig.some((apiConfig) => {
418
430
  if (apiConfig.method !== method)
419
431
  return false;
420
- console.log('apiConfig.path', apiConfig.path, path.includes(apiConfig.path));
421
432
  if (!path.includes(apiConfig.path))
422
433
  return false;
423
- const isQuerySubset = this.utilService.isJsonSubset(query, apiConfig.query);
424
- if (!isQuerySubset)
425
- return false;
434
+ if (apiConfig.query) {
435
+ const isQuerySubset = this.utilService.isJsonSubset(query, apiConfig.query);
436
+ if (!isQuerySubset)
437
+ return false;
438
+ }
426
439
  if (apiConfig.body) {
427
440
  const isBodyMatch = this.utilService.isJsonSubset(apiConfig.body, body);
428
441
  if (!isBodyMatch)
@@ -1275,6 +1288,213 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
1275
1288
  }]
1276
1289
  }] });
1277
1290
 
1291
+ // This file can be replaced during build by using the `fileReplacements` array.
1292
+ // `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
1293
+ // The list of file replacements can be found in `angular.json`.
1294
+ let domainName = 'devapi.v-comply.com';
1295
+ let apiBaseUrl = 'https://api-uat1.v-comply.com';
1296
+ switch (window.location.host) {
1297
+ case 'dev.v-comply.com':
1298
+ domainName = 'devapi.v-comply.com';
1299
+ apiBaseUrl = 'https://api-uat1.v-comply.com';
1300
+ break;
1301
+ case 'beta.v-comply.com':
1302
+ domainName = 'betaapi.v-comply.com';
1303
+ apiBaseUrl = 'https://api-staging.v-comply.com';
1304
+ break;
1305
+ case 'test.v-comply.com':
1306
+ domainName = 'devapi.v-comply.com';
1307
+ break;
1308
+ case 'eu.v-comply.com':
1309
+ domainName = 'euapi.v-comply.com';
1310
+ break;
1311
+ default:
1312
+ domainName = 'api.v-comply.com';
1313
+ break;
1314
+ }
1315
+ const PORT_EDITOR = 8081;
1316
+ const PORT_CONTENT_SAVE = 8834;
1317
+ let endPoint = 'https://devapi.v-comply.com/';
1318
+ const environment = {
1319
+ production: false,
1320
+ appUrl: 'http://localhost:4200/',
1321
+ apiBaseUrl: 'https://api-uat1.v-comply.com',
1322
+ authEndpoint: `${endPoint}VcomplyAuth/`,
1323
+ orgEndpoint_TL: `${endPoint}organization_pwt/?mode=`,
1324
+ s3Url: '',
1325
+ s3BucketUrl: `${endPoint}globals?mode=bucket`,
1326
+ s3Bucket: '',
1327
+ profile: '/profile_pic/thumb/',
1328
+ assessmentEnpoint: `${endPoint}Assessment/?mode=`,
1329
+ organizationPost: `${endPoint}organization_post/?mode=`,
1330
+ organizationGet: `${endPoint}organization/?mode=`,
1331
+ complianceGet: `${endPoint}compliance/?mode=`,
1332
+ compliancePost: `${endPoint}compliance_post/?mode=`,
1333
+ fileUploadEndPoint: 'https://upload-uat1.v-comply.com/fileupload/?destination=',
1334
+ assuranceGet: `${endPoint}assurance/?mode=`,
1335
+ policyGet: `${endPoint}policy/?mode=`,
1336
+ saveDoc: 'https://dev-node.v-comply.com/saveContent?bypass-token=true&id=',
1337
+ docxUpload: 'https://dev-node.v-comply.com/ImportDocument',
1338
+ fileUpload: 'https://dev-node.v-comply.com/importFiles',
1339
+ policyPost: `${endPoint}policy_post/?mode=`,
1340
+ policyPut: `${endPoint}policy_put/?mode=`,
1341
+ responsibilityPost: `${endPoint}responsibilities_post/?mode=`,
1342
+ linkDoc: 'https://dev-node.v-comply.com' + '/ImportDocument',
1343
+ linkPdf: 'https://dev-node.v-comply.com' + '/extractDocs',
1344
+ assuranceApi: 'https://devapi.v-comply.com/Assurance/',
1345
+ assurance: 'https://devapi.v-comply.com/Assurance/',
1346
+ programEndpoint: 'https://devapi.v-comply.com/program',
1347
+ risk: 'https://devapi.v-comply.com/risk/?mode=',
1348
+ risk_put: 'https://devapi.v-comply.com/risk_put/?mode=',
1349
+ riskPdfPost: 'https://devapi.v-comply.com/risk_pdf_post?mode=',
1350
+ riskPost: 'https://devapi.v-comply.com/risk_post/?mode=',
1351
+ riskGet: 'https://devapi.v-comply.com/risk/?mode=',
1352
+ baseUrl: 'https://devapi.v-comply.com/',
1353
+ grc_get: 'https://devapi.v-comply.com/grc_object/?mode=',
1354
+ leftMenuLogo: 'https://cdn.v-comply.com/logo/prod/v-logo.svg?v=1.0',
1355
+ vLoader: 'https://cdn.v-comply.com/logo/prod/v-icon-loader.svg?v=1.0',
1356
+ };
1357
+ /*
1358
+ * For easier debugging in development mode, you can import the following file
1359
+ * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
1360
+ *
1361
+ * This import should be commented out in production mode because it will have a negative impact
1362
+ * on performance if an error is thrown.
1363
+ */
1364
+ // import 'zone.js/plugins/zone-error'; // Included with Angular CLI.
1365
+
1366
+ class FeatureFlagService {
1367
+ constructor(http, authorizer) {
1368
+ this.http = http;
1369
+ this.authorizer = authorizer;
1370
+ this.flagFetchError = false;
1371
+ this.featuresMap = {};
1372
+ this.AWSFlags = {};
1373
+ }
1374
+ fetchFlags() {
1375
+ return this.http.get(environment.baseUrl + 'features').pipe(retry(2));
1376
+ }
1377
+ loadConfig() {
1378
+ if (this.flagSubscription) {
1379
+ this.flagSubscription.unsubscribe();
1380
+ }
1381
+ return new Promise((resolve, reject) => {
1382
+ this.flagSubscription = this.fetchFlags().subscribe({
1383
+ next: (res) => {
1384
+ try {
1385
+ resolve(true);
1386
+ this.flagFetchError = false;
1387
+ this.AWSFlags = res;
1388
+ this.buildFeatureFlags(this.authorizer.getOrganizationId());
1389
+ }
1390
+ catch (error) {
1391
+ reject(error);
1392
+ }
1393
+ },
1394
+ error: (err) => {
1395
+ reject(true);
1396
+ this.flagFetchError = true;
1397
+ console.log('An error occurred while fetching feature flags', err);
1398
+ },
1399
+ });
1400
+ });
1401
+ }
1402
+ buildFeatureFlags(orgId) {
1403
+ orgId = orgId === null || orgId === void 0 ? void 0 : orgId.toString();
1404
+ const enabledFeatures = {};
1405
+ Object.keys(this.AWSFlags).forEach((flag) => {
1406
+ var _a, _b;
1407
+ const flagObj = this.AWSFlags[flag];
1408
+ enabledFeatures[flag] = false;
1409
+ if (flagObj) {
1410
+ if ((flagObj === null || flagObj === void 0 ? void 0 : flagObj.enabled) && !flagObj.hasOwnProperty('enabledOrgIds')) {
1411
+ enabledFeatures[flag] = true;
1412
+ }
1413
+ else if ((flagObj === null || flagObj === void 0 ? void 0 : flagObj.enabled) &&
1414
+ flagObj.hasOwnProperty('enabledOrgIds') &&
1415
+ ((_a = flagObj === null || flagObj === void 0 ? void 0 : flagObj.enabledOrgIds) === null || _a === void 0 ? void 0 : _a.length) > 0) {
1416
+ if ((_b = flagObj === null || flagObj === void 0 ? void 0 : flagObj.enabledOrgIds) === null || _b === void 0 ? void 0 : _b.includes(orgId)) {
1417
+ enabledFeatures[flag] = true;
1418
+ }
1419
+ else {
1420
+ enabledFeatures[flag] = false;
1421
+ }
1422
+ }
1423
+ else {
1424
+ if (flagObj === null || flagObj === void 0 ? void 0 : flagObj.enabled) {
1425
+ enabledFeatures[flag] = true;
1426
+ }
1427
+ else {
1428
+ enabledFeatures[flag] = false;
1429
+ }
1430
+ }
1431
+ }
1432
+ else {
1433
+ enabledFeatures[flag] = true;
1434
+ }
1435
+ });
1436
+ this.featuresMap = enabledFeatures;
1437
+ }
1438
+ isFeatureEnabled(featureFlag) {
1439
+ if (this.featuresMap.hasOwnProperty(featureFlag)) {
1440
+ return this.featuresMap[featureFlag];
1441
+ }
1442
+ else {
1443
+ return true;
1444
+ }
1445
+ }
1446
+ }
1447
+ FeatureFlagService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagService, deps: [{ token: i1$1.HttpClient }, { token: i1.AuthorizerService }], target: i0.ɵɵFactoryTarget.Injectable });
1448
+ FeatureFlagService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagService, providedIn: 'root' });
1449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagService, decorators: [{
1450
+ type: Injectable,
1451
+ args: [{
1452
+ providedIn: 'root',
1453
+ }]
1454
+ }], ctorParameters: function () { return [{ type: i1$1.HttpClient }, { type: i1.AuthorizerService }]; } });
1455
+
1456
+ class FeatureFlagDirective {
1457
+ constructor(tpl, vcr, featureFlagService) {
1458
+ this.tpl = tpl;
1459
+ this.vcr = vcr;
1460
+ this.featureFlagService = featureFlagService;
1461
+ }
1462
+ ngOnInit() {
1463
+ const isEnabled = this.featureFlagService.isFeatureEnabled(this.featureFlag);
1464
+ if (isEnabled) {
1465
+ this.vcr.createEmbeddedView(this.tpl);
1466
+ }
1467
+ }
1468
+ }
1469
+ FeatureFlagDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: FeatureFlagService }], target: i0.ɵɵFactoryTarget.Directive });
1470
+ FeatureFlagDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: FeatureFlagDirective, selector: "[featureFlag]", inputs: { featureFlag: "featureFlag" }, ngImport: i0 });
1471
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagDirective, decorators: [{
1472
+ type: Directive,
1473
+ args: [{
1474
+ selector: "[featureFlag]"
1475
+ }]
1476
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: FeatureFlagService }]; }, propDecorators: { featureFlag: [{
1477
+ type: Input
1478
+ }] } });
1479
+
1480
+ class FeatureFlagModule {
1481
+ }
1482
+ FeatureFlagModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1483
+ FeatureFlagModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagModule, declarations: [FeatureFlagDirective], imports: [CommonModule], exports: [FeatureFlagDirective] });
1484
+ FeatureFlagModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagModule, imports: [[
1485
+ CommonModule
1486
+ ]] });
1487
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FeatureFlagModule, decorators: [{
1488
+ type: NgModule,
1489
+ args: [{
1490
+ declarations: [FeatureFlagDirective],
1491
+ imports: [
1492
+ CommonModule
1493
+ ],
1494
+ exports: [FeatureFlagDirective]
1495
+ }]
1496
+ }] });
1497
+
1278
1498
  class Configurations {
1279
1499
  constructor() {
1280
1500
  this.sentryConfig = {};
@@ -1327,28 +1547,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
1327
1547
  } });
1328
1548
 
1329
1549
  class HttpReqInterceptor {
1330
- constructor(errorService) {
1550
+ constructor(errorService, featureFlagService) {
1331
1551
  this.errorService = errorService;
1552
+ this.featureFlagService = featureFlagService;
1332
1553
  }
1333
1554
  intercept(req, next) {
1334
- return next.handle(req).pipe(timeout(API_TIMEOUT_TIME), tap((event) => {
1335
- if (event instanceof HttpResponse) {
1336
- this.errorService.handleSoftErrors(event);
1337
- }
1338
- }), catchError((error) => {
1339
- this.errorService.handleError(error, req);
1340
- return throwError(error);
1341
- }));
1555
+ if (this.featureFlagService.isFeatureEnabled('ff_error_handling')) {
1556
+ return next.handle(req).pipe(timeout(API_TIMEOUT_TIME), tap((event) => {
1557
+ if (event instanceof HttpResponse) {
1558
+ this.errorService.handleSoftErrors(event);
1559
+ }
1560
+ }), catchError((error) => {
1561
+ this.errorService.handleError(error, req);
1562
+ return throwError(error);
1563
+ }));
1564
+ }
1565
+ else {
1566
+ return next.handle(req);
1567
+ }
1342
1568
  }
1343
1569
  }
1344
- HttpReqInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor, deps: [{ token: GlobalErrorService }], target: i0.ɵɵFactoryTarget.Injectable });
1570
+ HttpReqInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor, deps: [{ token: GlobalErrorService }, { token: FeatureFlagService }], target: i0.ɵɵFactoryTarget.Injectable });
1345
1571
  HttpReqInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor });
1346
1572
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpReqInterceptor, decorators: [{
1347
1573
  type: Injectable
1348
- }], ctorParameters: function () { return [{ type: GlobalErrorService }]; } });
1574
+ }], ctorParameters: function () { return [{ type: GlobalErrorService }, { type: FeatureFlagService }]; } });
1349
1575
 
1350
1576
  const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken('forRoot() SentryErrorHandler options');
1351
1577
  class VcErrorHandlersModule {
1578
+ constructor(loadConfig) {
1579
+ this.loadConfig = loadConfig;
1580
+ this.loadConfig.loadConfig();
1581
+ }
1352
1582
  static forRoot(environmentConfig) {
1353
1583
  return {
1354
1584
  ngModule: VcErrorHandlersModule,
@@ -1356,7 +1586,7 @@ class VcErrorHandlersModule {
1356
1586
  };
1357
1587
  }
1358
1588
  }
1359
- VcErrorHandlersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1589
+ VcErrorHandlersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, deps: [{ token: FeatureFlagService }], target: i0.ɵɵFactoryTarget.NgModule });
1360
1590
  VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, bootstrap: [VcErrorHandlersComponent], declarations: [VcErrorHandlersComponent,
1361
1591
  PageNotFoundComponent,
1362
1592
  UnauthorizedComponent,
@@ -1364,7 +1594,7 @@ VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
1364
1594
  ChunkUnavailableComponent,
1365
1595
  ServerErrorComponent,
1366
1596
  ErrorModalComponent,
1367
- ComponentLevelServerErrorComponent], imports: [CommonModule, DialogModule, SnackBarModule], exports: [VcErrorHandlersComponent,
1597
+ ComponentLevelServerErrorComponent], imports: [CommonModule, DialogModule, SnackBarModule, FeatureFlagModule], exports: [VcErrorHandlersComponent,
1368
1598
  PageNotFoundComponent,
1369
1599
  UnauthorizedComponent,
1370
1600
  SessionExpiredComponent,
@@ -1375,7 +1605,7 @@ VcErrorHandlersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
1375
1605
  VcErrorHandlersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, providers: [
1376
1606
  { provide: ErrorHandler, useClass: SentryErrorHandler },
1377
1607
  { provide: HTTP_INTERCEPTORS, useClass: HttpReqInterceptor, multi: true },
1378
- ], imports: [[CommonModule, DialogModule, SnackBarModule]] });
1608
+ ], imports: [[CommonModule, DialogModule, SnackBarModule, FeatureFlagModule]] });
1379
1609
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: VcErrorHandlersModule, decorators: [{
1380
1610
  type: NgModule,
1381
1611
  args: [{
@@ -1389,7 +1619,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
1389
1619
  ErrorModalComponent,
1390
1620
  ComponentLevelServerErrorComponent,
1391
1621
  ],
1392
- imports: [CommonModule, DialogModule, SnackBarModule],
1622
+ imports: [CommonModule, DialogModule, SnackBarModule, FeatureFlagModule],
1393
1623
  exports: [
1394
1624
  VcErrorHandlersComponent,
1395
1625
  PageNotFoundComponent,
@@ -1406,7 +1636,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
1406
1636
  ],
1407
1637
  bootstrap: [VcErrorHandlersComponent],
1408
1638
  }]
1409
- }] });
1639
+ }], ctorParameters: function () { return [{ type: FeatureFlagService }]; } });
1410
1640
 
1411
1641
  /*
1412
1642
  * Public API Surface of vc-error-handlers