{"version":3,"file":"main.js","mappings":"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IAAI3I,6EAAsB,EAAE;EAC1B4I,6DAAc,EAAE;;AAGlBC,sEAAAA,EAAwB,CAACC,eAAe,CAACzmB,sDAAS,CAAC,CAChD0mB,KAAK,CAACviB,GAAG,IAAIC,OAAO,CAAC5C,KAAK,CAAC2C,GAAG,CAAC,CAAC;;;;;;;;;;ACXnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/admin-consent/admin-consent.component.ts","./src/app/components/admin-consent/admin-consent.component.html","./src/app/components/browser-compatibility/browser-compatibility.component.ts","./src/app/components/browser-compatibility/browser-compatibility.component.html","./src/app/components/complete-registration/complete-registration.component.ts","./src/app/components/complete-registration/complete-registration.component.html","./src/app/components/contact-us/contact-us.component.ts","./src/app/components/contact-us/contact-us.component.html","./src/app/components/create-admin-registration/create-admin-registration.component.ts","./src/app/components/create-admin-registration/create-admin-registration.component.html","./src/app/components/create-registration/create-registration.component.ts","./src/app/components/create-registration/create-registration.component.html","./src/app/components/eligible-services/eligible-services.component.ts","./src/app/components/eligible-services/eligible-services.component.html","./src/app/components/end-user-agreement/end-user-agreement.component.ts","./src/app/components/end-user-agreement/end-user-agreement.component.html","./src/app/components/error/error.component.html","./src/app/components/error/error.component.ts","./src/app/components/escalation-matrix/escalation-matrix.component.ts","./src/app/components/escalation-matrix/escalation-matrix.component.html","./src/app/components/finish-setup/finish-setup.component.ts","./src/app/components/finish-setup/finish-setup.component.html","./src/app/components/footer/footer.component.html","./src/app/components/footer/footer.component.ts","./src/app/components/header/header.component.html","./src/app/components/header/header.component.ts","./src/app/components/loading/loading.component.html","./src/app/components/loading/loading.component.ts","./src/app/components/monitoring-dashboard/monitoring-dashboard.component.ts","./src/app/components/monitoring-dashboard/monitoring-dashboard.component.html","./src/app/components/report-edit/report-edit.component.ts","./src/app/components/report-edit/report-edit.component.html","./src/app/components/report-management/report-management.component.ts","./src/app/components/report-management/report-management.component.html","./src/app/components/report-upload/report-upload.component.ts","./src/app/components/report-upload/report-upload.component.html","./src/app/components/report-view/report-view.component.ts","./src/app/components/report-view/report-view.component.html","./src/app/components/search-admin-registration/search-admin-registration.component.ts","./src/app/components/search-admin-registration/search-admin-registration.component.html","./src/app/components/search-registration/search-registration.component.ts","./src/app/components/search-registration/search-registration.component.html","./src/app/components/side-bar/side-bar.component.ts","./src/app/components/side-bar/side-bar.component.html","./src/app/components/status/status.component.html","./src/app/components/status/status.component.ts","./src/app/components/terms-of-use/terms-of-use.component.ts","./src/app/components/terms-of-use/terms-of-use.component.html","./src/app/components/view-registration/view-registration.component.ts","./src/app/components/view-registration/view-registration.component.html","./src/app/models/consent-information.ts","./src/app/models/entity-base.ts","./src/app/models/roles.ts","./src/app/modules/admin/admin-routing.module.ts","./src/app/modules/admin/admin.module.ts","./src/app/modules/post-login/post-login-routing.module.ts","./src/app/modules/post-login/post-login.component.ts","./src/app/modules/post-login/post-login.component.html","./src/app/modules/post-login/post-login.module.ts","./src/app/services/active-user-service.ts","./src/app/services/app-config-service.ts","./src/app/services/app-insights-service.ts","./src/app/services/autogenerated-api-service.ts","./src/app/services/base-api-service.ts","./src/app/services/contact-type-service.ts","./src/app/services/escalation-contact-service.ts","./src/app/services/escalation-detail-service.ts","./src/app/services/kendo-grid-helper.ts","./src/app/services/loading-service.ts","./src/app/services/log-source-service.ts","./src/app/services/log-source-type-service.ts","./src/app/services/registration-service.ts","./src/app/services/report-definition-service.ts","./src/app/services/role.guard.ts","./src/app/services/session-interceptor.ts","./src/app/services/session-service.ts","./src/app/services/side-bar-service.ts","./src/app/services/support-type-service.ts","./src/app/services/tenant-service.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { AdminConsentComponent } from './components/admin-consent/admin-consent.component';\nimport { CompleteRegistrationComponent } from './components/complete-registration/complete-registration.component';\nimport { PostLoginComponent } from './modules/post-login/post-login.component';\nimport { TermsOfUseComponent } from './components/terms-of-use/terms-of-use.component';\nimport { ContactUsComponent } from './components/contact-us/contact-us.component';\nimport { EndUserAgreementComponent } from './components/end-user-agreement/end-user-agreement.component';\nimport { BrowserCompatibilityComponent } from './components/browser-compatibility/browser-compatibility.component';\nimport { EligibleServicesComponent } from './components/eligible-services/eligible-services.component';\n\nconst routes: Routes = [\n {\n path: 'register/:code',\n component: CompleteRegistrationComponent,\n pathMatch: 'full',\n },\n {\n path: 'eligible-services/:code',\n component: EligibleServicesComponent,\n pathMatch: 'full',\n },\n {\n path: 'terms-of-use',\n component: TermsOfUseComponent,\n pathMatch: 'full',\n },\n {\n path: 'end-user-agreement',\n component: EndUserAgreementComponent,\n pathMatch: 'full',\n },\n {\n path: 'browser-compatibility',\n component: BrowserCompatibilityComponent,\n pathMatch: 'full',\n },\n {\n path: 'contact-us',\n component: ContactUsComponent,\n pathMatch: 'full',\n },\n {\n path: 'consent',\n component: AdminConsentComponent,\n pathMatch: 'full',\n },\n {\n path: '',\n component: PostLoginComponent,\n loadChildren: () =>\n import('./modules/post-login/post-login.module').then(\n (m) => m.PostLoginModule\n ),\n canActivate: [MsalGuard],\n canActivateChild: [MsalGuard],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { trigger, transition, style, animate } from '@angular/animations';\nimport { Component, OnInit } from '@angular/core';\nimport { MsalService } from '@azure/msal-angular';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SideBarService } from './services/side-bar-service';\nimport { lastValueFrom } from 'rxjs';\nimport { AppInsightsService } from './services/app-insights-service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n animations: [\n trigger('fadeInOut', [\n transition(':enter', [\n style({\n transform: 'translateX(-100%)',\n }),\n animate('250ms', style({ transform: 'translateX(0)' })),\n ]),\n transition(':leave', [\n style({\n transform: 'translateX(0)',\n }),\n animate('250ms', style({ transform: 'translateX(-100%)' })),\n ]),\n ]),\n ],\n})\nexport class AppComponent implements OnInit {\n showSidebar = false;\n constructor(\n private translateService: TranslateService,\n private sideBarService: SideBarService,\n private msalService: MsalService,\n private appInsightsService: AppInsightsService\n ) {\n this.sideBarService.toggleObservable$.subscribe((toggled) => {\n this.showSidebar = toggled;\n });\n // Add languages\n this.translateService.addLangs(['en-US']);\n\n // Use a language\n this.translateService.setDefaultLang('en-US');\n this.translateService.use('en-US');\n }\n async ngOnInit(): Promise {\n //I assumed microsoft would take care of this but I guess not...\n const authCallback = await lastValueFrom(\n this.msalService.handleRedirectObservable()\n );\n\n let activeAccount = this.msalService.instance.getActiveAccount();\n\n if (authCallback?.account)\n this.msalService.instance.setActiveAccount(authCallback.account);\n else {\n const accounts = this.msalService.instance.getAllAccounts();\n\n if (!activeAccount && accounts.length > 0) {\n activeAccount = accounts[0];\n this.msalService.instance.setActiveAccount(activeAccount);\n }\n }\n\n if (activeAccount) {\n this.appInsightsService.setAuthenticatedUser(\n activeAccount.username,\n activeAccount.tenantId\n );\n }\n }\n\n toggleSidebar(value: boolean) {\n this.showSidebar = value;\n }\n}\n","
\n \n
\n \n
\n \n
\n
\n \n
\n\n","import {\n HttpBackend,\n HttpClient,\n HttpClientModule,\n HTTP_INTERCEPTORS,\n} from '@angular/common/http';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { HeaderComponent } from './components/header/header.component';\nimport { FooterComponent } from './components/footer/footer.component';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { MonitoringDashboardComponent } from './components/monitoring-dashboard/monitoring-dashboard.component';\nimport {\n AppConfigService,\n Responder365AppConfig,\n} from './services/app-config-service';\nimport {\n IPublicClientApplication,\n PublicClientApplication,\n BrowserCacheLocation,\n LogLevel,\n InteractionType,\n} from '@azure/msal-browser';\nimport {\n MsalGuard,\n MsalInterceptor,\n MsalBroadcastService,\n MsalInterceptorConfiguration,\n MsalModule,\n MsalService,\n MSAL_GUARD_CONFIG,\n MSAL_INSTANCE,\n MSAL_INTERCEPTOR_CONFIG,\n MsalGuardConfiguration,\n MsalRedirectComponent,\n ProtectedResourceScopes,\n} from '@azure/msal-angular';\nimport { CreateRegistrationComponent } from './components/create-registration/create-registration.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CompleteRegistrationComponent } from './components/complete-registration/complete-registration.component';\nimport { StatusComponent } from './components/status/status.component';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { GridModule } from '@progress/kendo-angular-grid';\nimport { DialogModule } from '@progress/kendo-angular-dialog';\nimport { SearchRegistrationComponent } from './components/search-registration/search-registration.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { ViewRegistrationComponent } from './components/view-registration/view-registration.component';\nimport { SideBarComponent } from './components/side-bar/side-bar.component';\nimport { FinishSetupComponent } from './components/finish-setup/finish-setup.component';\nimport { AdminConsentComponent } from './components/admin-consent/admin-consent.component';\nimport { PostLoginModule } from './modules/post-login/post-login.module';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { LabelModule } from '@progress/kendo-angular-label';\nimport { LayoutModule } from '@progress/kendo-angular-layout';\nimport { IconsModule } from '@progress/kendo-angular-icons';\nimport { CommonModule } from '@angular/common';\nimport { DateInputsModule } from '@progress/kendo-angular-dateinputs';\nimport { IndicatorsModule } from '@progress/kendo-angular-indicators';\nimport { NotificationModule } from '@progress/kendo-angular-notification';\nimport { LoadingComponent } from './components/loading/loading.component';\nimport { ErrorComponent } from './components/error/error.component';\nimport { AdminModule } from './modules/admin/admin.module';\nimport { MenusModule } from '@progress/kendo-angular-menu';\nimport { LoadingService } from './services/loading-service';\nimport { CreateAdminRegistrationComponent } from './components/create-admin-registration/create-admin-registration.component';\nimport { SearchAdminRegistrationComponent } from './components/search-admin-registration/search-admin-registration.component';\nimport { EscalationMatrixComponent } from './components/escalation-matrix/escalation-matrix.component';\nimport packageInfo from './../../package.json';\nimport { SessionInterceptor } from './services/session-interceptor';\nimport { TermsOfUseComponent } from './components/terms-of-use/terms-of-use.component';\nimport { ContactUsComponent } from './components/contact-us/contact-us.component';\nimport { EndUserAgreementComponent } from './components/end-user-agreement/end-user-agreement.component';\nimport { BrowserCompatibilityComponent } from './components/browser-compatibility/browser-compatibility.component';\nimport { ReportManagementComponent } from './components/report-management/report-management.component';\nimport { TelerikReportingModule } from '@progress/telerik-angular-report-viewer';\nimport { ReportUploadComponent } from './components/report-upload/report-upload.component';\nimport { ReportEditComponent } from './components/report-edit/report-edit.component';\nimport { ReportViewComponent } from './components/report-view/report-view.component';\nimport { EligibleServicesComponent } from './components/eligible-services/eligible-services.component';\nimport { PopupModule } from '@progress/kendo-angular-popup';\n\nconst isIE =\n window.navigator.userAgent.indexOf('MSIE ') > -1 ||\n window.navigator.userAgent.indexOf('Trident/') > -1;\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(\n httpClient,\n './assets/i18n/',\n `.json?v=${packageInfo.version}`\n );\n}\n\nexport function MSALInstanceFactory(\n appConfig: Responder365AppConfig\n): IPublicClientApplication {\n return new PublicClientApplication({\n auth: appConfig.authConfig,\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage,\n storeAuthStateInCookie: isIE, // set to true for IE 11\n },\n system: {\n loggerOptions: {\n logLevel: LogLevel.Info,\n piiLoggingEnabled: false,\n },\n },\n });\n}\n\nexport function MSALInterceptorConfigFactory(\n config: Responder365AppConfig\n): MsalInterceptorConfiguration {\n const protectedResourceMap = new Map<\n string,\n (string | ProtectedResourceScopes)[] | null\n >();\n\n protectedResourceMap.set(`${config?.apiUrl}/api/registration/fetch`, null);\n\n protectedResourceMap.set(`${config?.apiUrl}/api/*`, [\n `api://${config?.authConfig?.clientId}/User.Api.Access`,\n ]);\n\n return {\n interactionType: InteractionType.Redirect,\n protectedResourceMap,\n };\n}\n\nexport function MSALGuardConfigFactory(\n config: Responder365AppConfig\n): MsalGuardConfiguration {\n return {\n interactionType: InteractionType.Redirect,\n authRequest: {\n scopes: [`api://${config?.authConfig?.clientId}/User.Api.Access`],\n },\n };\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n HeaderComponent,\n FooterComponent,\n MonitoringDashboardComponent,\n CreateRegistrationComponent,\n CompleteRegistrationComponent,\n StatusComponent,\n SearchRegistrationComponent,\n ViewRegistrationComponent,\n FinishSetupComponent,\n AdminConsentComponent,\n SideBarComponent,\n LoadingComponent,\n ErrorComponent,\n CreateAdminRegistrationComponent,\n SearchAdminRegistrationComponent,\n EscalationMatrixComponent,\n TermsOfUseComponent,\n ContactUsComponent,\n EndUserAgreementComponent,\n BrowserCompatibilityComponent,\n ReportManagementComponent,\n ReportUploadComponent,\n ReportEditComponent,\n ReportViewComponent,\n EligibleServicesComponent,\n ],\n imports: [\n AppRoutingModule,\n HttpClientModule,\n BrowserModule,\n BrowserAnimationsModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n InputsModule,\n LabelModule,\n ButtonsModule,\n IconsModule,\n LayoutModule,\n DropDownsModule,\n GridModule,\n PopupModule,\n DialogModule,\n DateInputsModule,\n IndicatorsModule,\n NotificationModule,\n MenusModule,\n TelerikReportingModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n PostLoginModule,\n AdminModule,\n ],\n exports: [],\n providers: [\n {\n provide: Responder365AppConfig,\n useFactory: (appConfigService: AppConfigService) =>\n appConfigService.config,\n deps: [AppConfigService],\n },\n {\n provide: APP_INITIALIZER,\n useFactory: (appConfigService: AppConfigService) => async () => {\n await appConfigService.loadConfig(packageInfo.version);\n },\n deps: [AppConfigService],\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MsalInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: SessionInterceptor,\n multi: true,\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory,\n deps: [Responder365AppConfig, HttpBackend],\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALGuardConfigFactory,\n deps: [Responder365AppConfig, LoadingService, HttpBackend],\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n useFactory: MSALInterceptorConfigFactory,\n deps: [Responder365AppConfig, LoadingService, HttpBackend],\n },\n MsalService,\n MsalGuard,\n MsalBroadcastService,\n ],\n bootstrap: [AppComponent, MsalRedirectComponent],\n})\nexport class AppModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n ConsentInformation,\n PrerequisiteAppIds,\n} from 'src/app/models/consent-information';\nimport { LogSource } from 'src/app/models/log-source';\nimport { Responder365AppConfig } from 'src/app/services/app-config-service';\nimport { AppInsightsService } from 'src/app/services/app-insights-service';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport { RegistrationService } from 'src/app/services/registration-service';\n\n@Component({\n selector: 'app-admin-consent',\n templateUrl: './admin-consent.component.html',\n styleUrls: ['./admin-consent.component.scss'],\n})\nexport class AdminConsentComponent implements OnInit {\n consent = false;\n tenantId: string = '';\n state: string = '';\n error: string = '';\n error_description: string = '';\n appId: string = '';\n prerequisiteAppId: string = '';\n consentState: ConsentInformation[] = [];\n nextAppLogSources!: LogSource[];\n nextConsentInfo: ConsentInformation | undefined;\n confirmationOpen: boolean = false;\n consentInfo: ConsentInformation | undefined;\n shortError: string = '';\n PrerequisiteAppIds = PrerequisiteAppIds;\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private registrationService: RegistrationService,\n private loadingService: LoadingService,\n private appInsightsService: AppInsightsService,\n public config: Responder365AppConfig\n ) {}\n\n async ngOnInit(): Promise {\n this.loadingService.show();\n let stateObject = JSON.parse(this.route.snapshot.queryParams.state);\n this.state = stateObject?.state;\n this.appId = stateObject?.appId;\n this.error = this.route.snapshot.queryParams.error;\n this.error_description = this.route.snapshot.queryParams.error_description;\n this.shortError = this.error_description?.substring(\n 0,\n this.error_description?.indexOf('Trace ID:')\n );\n this.consent =\n this.route.snapshot.queryParams?.admin_consent?.toLowerCase() === 'true';\n this.tenantId = this.route.snapshot.queryParams.tenant;\n\n if (this.tenantId) {\n localStorage.setItem('tenantId', this.tenantId);\n }\n\n this.consentState = JSON.parse(\n localStorage.getItem('consent-state') ?? '[]'\n );\n this.consentInfo = this.consentState.find((ci) => ci.app_id === this.appId);\n if (this.consentInfo) {\n this.consentInfo.consent = this.consent;\n this.prerequisiteAppId = this.consentInfo.prerequisite_app_id;\n localStorage.setItem('consent-state', JSON.stringify(this.consentState));\n }\n\n if (this.error_description) {\n this.appInsightsService.logEvent('Admin consent failed', {\n error: this.error,\n error_description: this.error_description,\n tenant_id: this.tenantId,\n });\n }\n\n if (this.consent && !this.error) {\n this.appInsightsService.logEvent('Admin consent succeeded', {\n tenant_id: this.tenantId,\n });\n\n if (this.consent && this.appId == this.config.authConfig.clientId) {\n await this.router.navigateByUrl(`/eligible-services/${this.state}`);\n } else {\n this.nextConsentInfo = this.consentState.find(\n (cs) => !cs.consent && !cs.skipped\n );\n //If everything has been consented, navigate back to dashboard\n if (!this.nextConsentInfo && this.state === 'reconsent') {\n await this.router.navigateByUrl('/');\n }\n }\n }\n this.loadingService.hide();\n }\n\n async adminConsent() {\n await this.registrationService.adminConsent(\n this.appId,\n encodeURIComponent(\n JSON.stringify({\n state: this.state,\n appId: this.appId,\n })\n )\n );\n }\n\n async nextAdminConsent() {\n this.nextConsentInfo = this.consentState.find(\n (cs) => !cs.consent && !cs.skipped\n );\n if (this.nextConsentInfo) {\n await this.registrationService.adminConsent(\n this.nextConsentInfo.app_id,\n encodeURIComponent(\n JSON.stringify({\n state: this.state,\n appId: this.nextConsentInfo.app_id,\n })\n )\n );\n } else {\n await this.router.navigateByUrl(\n `/finish-setup?code=${this.state}&tid=${this.tenantId}`\n );\n }\n }\n\n async finishSetup() {\n await this.router.navigateByUrl(`/finish-setup?code=${this.state}`);\n }\n\n async skipConsent() {\n if (this.consentInfo) {\n this.consentInfo.skipped = true;\n localStorage.setItem('consent-state', JSON.stringify(this.consentState));\n }\n await this.nextAdminConsent();\n }\n}\n","
\n

\n {{ \"AdminConsent.Heading\" | translate }}\n {{ !error ? \"Succeeded\" : \"Failed\" }}\n

\n
\n

\n {{ \"AdminConsent.ConsentSuccess\" | translate }}\n \n {{ \"AdminConsent.GraphLogSources\" | translate }}\n \n \n {{ \"AdminConsent.Office365LogSources\" | translate }}\n \n \n {{ \"AdminConsent.DefenderLogSources\" | translate }}\n \n

\n\n
\n

\n {{ \"AdminConsent.SuccessExplanation\" | translate }}\n

\n \n {{ \"AdminConsent.FinishSetup\" | translate }}\n \n \n {{ \"AdminConsent.NextButton\" | translate }}\n \n
\n
\n
\n
\n {{ shortError }}\n
\n
\n
\n

\n {{ \"AdminConsent.ConsentFailure\" | translate }}\n \n {{ \"AdminConsent.GraphLogSources\" | translate }}\n \n \n {{ \"AdminConsent.Office365LogSources\" | translate }}\n \n \n {{ \"AdminConsent.DefenderLogSources\" | translate }}\n \n

\n
\n

{{ \"AdminConsent.FailedExplanation\" | translate }}

\n
\n \n {{ \"AdminConsent.ConsentToAppPermissions\" | translate }}\n \n \n {{ \"AdminConsent.SkipConsent\" | translate }}\n \n Contact Us \n
\n
\n
\n
\n\n\n

\n {{ \"AdminConsent.SkipConsentWarning\" | translate }}\n

\n \n
\n \n \n
\n
\n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-browser-compatibility',\n templateUrl: './browser-compatibility.component.html',\n styleUrls: ['./browser-compatibility.component.scss']\n})\nexport class BrowserCompatibilityComponent {\n\n}\n","
\n
\n
\n

\n BROWSER COMPATIBITILITY

\n

\n
\n

\n This website is best viewed using the latest versions of Mozilla\n Firefox, Microsoft Edge, Google Chrome or Apple Safari.\n

\n

\n Using an outdated browser can compromise the security of your computer\n or mobile device and cause certain websites to look or behave\n incorrectly.\n

\n

\n Use one of the following links to download the latest version of your\n preferred browser. The link will either take you to the browser\n developer’s download page, or to the app store download page based on\n the selected operating system. From there, follow the download\n instructions.\n

\n

Please note this website is not optimized for Internet Explorer.

\n

Desktop Browsers

\n
    \n
  • \n Google Chrome\n
  • \n
  • \n Microsoft Edge\n
  • \n
  • \n Mozilla Firefox\n
  • \n
  • \n Apple Safari\n
  • \n
\n

Android Browsers

\n
    \n
  • \n Google Chrome\n
  • \n
  • \n Microsoft Edge\n
  • \n
  • \n Mozilla Firefox\n
  • \n
\n

iOS Browsers

\n
    \n
  • \n Google Chrome\n
  • \n
  • \n Microsoft Edge\n
  • \n
  • \n Mozilla Firefox\n
  • \n
\n

 

\n

 

\n
\n
\n
\n
\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ConsentInformation } from 'src/app/models/consent-information';\nimport { LogSource } from 'src/app/models/log-source';\nimport { LogSourceType } from 'src/app/models/log-source-type';\nimport { RoleIds } from 'src/app/models/roles';\nimport { Responder365AppConfig } from 'src/app/services/app-config-service';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport { RegistrationService } from 'src/app/services/registration-service';\n\n@Component({\n selector: 'app-complete-registration',\n templateUrl: './complete-registration.component.html',\n styleUrls: ['./complete-registration.component.scss'],\n})\nexport class CompleteRegistrationComponent implements OnInit {\n apiResponse: string = '';\n error: string = '';\n success: string = '';\n registrationCode: string = '';\n logSources: LogSource[] = [];\n isComplete: boolean = false;\n isAuthenticated: boolean = false;\n roleId: number = -1;\n RoleIds = RoleIds;\n\n constructor(\n private registrationService: RegistrationService,\n private route: ActivatedRoute,\n private router: Router,\n private translateService: TranslateService,\n public loadingService: LoadingService,\n private config: Responder365AppConfig\n ) {}\n\n async ngOnInit(): Promise {\n try {\n this.loadingService.show();\n const registrationCode = this.route.snapshot.params.code;\n if (registrationCode) {\n const registrationDetails = await this.registrationService.fetch(\n registrationCode\n );\n this.registrationCode = registrationDetails?.code ?? '';\n this.logSources = registrationDetails?.log_sources ?? [];\n this.roleId = registrationDetails.role_id;\n } else {\n this.error = this.translateService.instant(\n 'CompleteRegistration.InvalidCode'\n );\n }\n } catch (err: any) {\n console.error(err);\n if (err instanceof HttpErrorResponse) {\n const httpError = err as HttpErrorResponse;\n switch (httpError.error) {\n case 'Registration code has already been completed.': {\n await this.router.navigateByUrl('/');\n break;\n }\n default: {\n if (typeof httpError.error === 'string')\n this.error = httpError.error;\n else\n this.error = this.translateService.instant(\n 'Error.GenericServerError'\n );\n }\n }\n }\n } finally {\n this.loadingService.hide();\n }\n }\n\n async nextStep() {\n this.registrationService.adminConsent(\n this.config.authConfig.clientId,\n encodeURIComponent(\n JSON.stringify({\n appId: this.config.authConfig.clientId,\n state: this.registrationCode,\n })\n )\n );\n }\n\n async completeAdminRegistration() {\n try {\n this.loadingService.show();\n await this.registrationService.complete(this.registrationCode);\n await this.router.navigateByUrl('/');\n } catch (err: any) {\n console.error(err);\n if (err instanceof HttpErrorResponse) {\n if (typeof err.error === 'string') this.error = err.error;\n else\n this.error = this.translateService.instant(\n 'Error.GenericServerError'\n );\n }\n } finally {\n this.loadingService.hide();\n }\n }\n}\n","
\n

{{ \"CompleteRegistration.Heading\" | translate }}

\n
\n
\n

\n {{ \"CompleteRegistration.SubHeading\" | translate }}\n

\n
\n
    \n
  • \n {{ step }}\n
  • \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n

\n {{ \"CompleteRegistration.AdminSubHeading\" | translate }}\n

\n
\n
\n {{ \"CompleteRegistration.AdminComplete\" | translate }}\n
\n \n {{ \"CompleteRegistration.FinishSetup\" | translate }}\n \n
\n
\n
\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { RegistrationService } from 'src/app/services/registration-service';\n\n@Component({\n selector: 'app-contact-us',\n templateUrl: './contact-us.component.html',\n styleUrls: ['./contact-us.component.scss'],\n})\nexport class ContactUsComponent implements OnInit {\n formGroup: FormGroup;\n isLoading = false;\n private nameRegex =\n /^(?=.{1,50}$)((?!.*[-']{2})[-']*)[a-zA-Z]+(?:[-']*[a-zA-Z\\s])*$/;\n isError: boolean = false;\n isSuccess: boolean = false;\n constructor(private registrationService: RegistrationService) {\n this.formGroup = new FormGroup({\n firstName: new FormControl(null, [\n Validators.required,\n Validators.pattern(this.nameRegex),\n ]),\n lastName: new FormControl(null, [\n Validators.required,\n Validators.pattern(this.nameRegex),\n ]),\n email: new FormControl(null, [Validators.required, Validators.email]),\n message: new FormControl(null, [Validators.required]),\n });\n }\n\n ngOnInit(): void {}\n\n async onSubmit() {\n this.isSuccess = false;\n this.isError = false;\n if (this.isLoading) return;\n this.formGroup.markAllAsTouched();\n if (this.formGroup.valid) {\n this.isLoading = true;\n let contactUsData = {\n first_name: this.firstName?.value,\n last_name: this.lastName?.value,\n email: this.email?.value,\n message: this.message?.value,\n };\n try {\n await this.registrationService.sendContactUsEmail(contactUsData);\n this.isSuccess = true;\n this.formGroup.reset();\n } catch (err: any) {\n this.isError = true;\n }\n }\n this.isLoading = false;\n }\n\n //Controls\n get firstName() {\n return this.formGroup.get('firstName');\n }\n get lastName() {\n return this.formGroup.get('lastName');\n }\n get email() {\n return this.formGroup.get('email');\n }\n get message() {\n return this.formGroup.get('message');\n }\n}\n","
\n
\n
\n
\n

\n {{ \"ContactUs.Heading\" | translate }}\n

\n {{\n \"ContactUs.SubHeading\" | translate\n }}\n
\n
\n
\n
\n
\n \n \n\n \n \n {{ \"ContactUs.FirstNameRequired\" | translate }}\n {{ \"ContactUs.FirstNameInvalid\" | translate }}\n

\n
\n
\n
\n
\n \n \n\n \n \n {{ \"ContactUs.LastNameRequired\" | translate }}\n

\n {{\n \"ContactUs.LastNameInvalid\" | translate\n }}\n
\n
\n
\n
\n \n \n\n \n \n {{ \"ContactUs.EmailRequired\" | translate }}\n {{\n \"ContactUs.EmailInvalid\" | translate\n }}\n

\n
\n
\n
\n \n \n \n \n \n {{ \"ContactUs.YourMessageRequired\" | translate }}\n

\n
\n \n {{ \"ContactUs.SubmitButton\" | translate }}\n \n
\n {{ \"ContactUs.Success\" | translate }}\n
\n
\n {{ \"Error.GenericServerError\" | translate }}\n
\n \n
\n
\n
\n
\n\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { RegistrationService } from 'src/app/services/registration-service';\n\n@Component({\n selector: 'app-create-admin-registration',\n templateUrl: './create-admin-registration.component.html',\n styleUrls: ['./create-admin-registration.component.scss']\n})\nexport class CreateAdminRegistrationComponent {\n isLoading: boolean = false;\n error: string = '';\n success: string = '';\n formGroup!: FormGroup;\n\n constructor(private registrationService: RegistrationService, private translateService: TranslateService, private formBuilder: FormBuilder) {\n this.createForm(); \n }\n\n async onSubmit(): Promise {\n try {\n if (this.formGroup.valid) {\n this.isLoading = true;\n this.error = '';\n \n await this.registrationService.createAdmin(\n this.formGroup.value.email\n );\n this.success = this.translateService.instant(\n 'CreateRegistration.SuccessMessage'\n );\n this.formGroup.reset();\n this.createForm();\n } else {\n this.formGroup.markAllAsTouched();\n }\n } catch (err: any) {\n console.error(err);\n if (err instanceof HttpErrorResponse) {\n const httpError = err as HttpErrorResponse;\n switch (httpError.error) {\n default: {\n if (typeof httpError.error === 'string')\n this.error = httpError.error;\n else\n this.error = this.translateService.instant(\n 'Error.GenericServerError'\n );\n }\n }\n }\n } finally {\n this.isLoading = false;\n }\n }\n\n createForm() {\n this.formGroup = this.formBuilder.group({\n email: new FormControl(null, [Validators.required, Validators.email])\n });\n }\n}\n\n","
\n

{{ \"CreateAdminRegistration.Header\" | translate }}

\n \n
\n
\n \n \n \n {{ \"CreateAdminRegistration.EmailRequired\" | translate }}\n {{ \"CreateAdminRegistration.EmailInvalid\" | translate }}\n
\n
\n
\n
\n \n \n Submit\n \n
\n \n \n \n ","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport {\n FormGroup,\n FormControl,\n Validators,\n FormBuilder,\n FormArray,\n ValidatorFn,\n AbstractControl,\n ValidationErrors,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LogSource } from 'src/app/models/log-source';\nimport { LogSourceType } from 'src/app/models/log-source-type';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport { LogSourceTypeService } from 'src/app/services/log-source-type-service';\nimport { RegistrationService } from 'src/app/services/registration-service';\n\n@Component({\n selector: 'app-create-registration',\n templateUrl: './create-registration.component.html',\n styleUrls: ['./create-registration.component.scss'],\n})\nexport class CreateRegistrationComponent implements OnInit {\n logSourceTypes: LogSourceType[] = [];\n formGroup!: FormGroup;\n isLoading: boolean = false;\n error: string = '';\n success: string = '';\n constructor(\n private registrationService: RegistrationService,\n private logSourceTypeService: LogSourceTypeService,\n private formBuilder: FormBuilder,\n private translateService: TranslateService,\n private loadingService: LoadingService\n ) {}\n\n async ngOnInit(): Promise {\n try {\n this.loadingService.show();\n this.isLoading = true;\n const logSourceTypes = await this.logSourceTypeService.list();\n this.logSourceTypes = logSourceTypes;\n } catch (err: any) {\n console.error(err);\n this.error = this.translateService.instant('Error.GenericServerError');\n } finally {\n this.isLoading = false;\n this.loadingService.hide();\n }\n\n this.createForm();\n }\n\n async onSubmit(): Promise {\n try {\n if (this.formGroup.valid) {\n this.isLoading = true;\n this.error = '';\n let logSources = this.formGroup.value.logSourceTypes\n .map((checked: boolean, i: number) => {\n const logSourceType = this.logSourceTypes[i];\n return checked\n ? {\n log_source_type_id: logSourceType.id,\n is_enabled: true,\n name:\n this.formGroup.value.email.split('@')[1] +\n ' - ' +\n logSourceType.name,\n retrieval_interval_minutes: this.formGroup.value.intervals[i],\n }\n : null;\n })\n .filter((v: boolean) => v !== null);\n\n await this.registrationService.createMember(\n this.formGroup.value.email,\n this.formGroup.value.company,\n this.formGroup.value.companyCode,\n logSources,\n this.formGroup.value.isTrial,\n this.formGroup.value.serviceType\n );\n this.success = this.translateService.instant(\n 'CreateRegistration.SuccessMessage'\n );\n this.formGroup.reset();\n this.createForm();\n } else {\n this.formGroup.markAllAsTouched();\n }\n } catch (err: any) {\n console.error(err);\n if (err instanceof HttpErrorResponse) {\n const httpError = err as HttpErrorResponse;\n switch (httpError.error) {\n default: {\n if (typeof httpError.error === 'string')\n this.error = httpError.error;\n else\n this.error = this.translateService.instant(\n 'Error.GenericServerError'\n );\n }\n }\n }\n } finally {\n this.isLoading = false;\n }\n }\n\n get logSourceTypeFormArray() {\n return this.formGroup.controls.logSourceTypes as FormArray;\n }\n\n get intervalFormArray() {\n return this.formGroup.controls.intervals as FormArray;\n }\n\n createForm() {\n this.formGroup = this.formBuilder.group({\n email: new FormControl(null, [Validators.required, Validators.email]),\n company: new FormControl(null, [\n Validators.required,\n Validators.maxLength(255),\n ]),\n companyCode: new FormControl(null, [\n Validators.minLength(7),\n Validators.maxLength(7),\n ]),\n logSourceTypes: new FormArray([], logSourceRequiredValidator()),\n intervals: new FormArray([]),\n isTrial: new FormControl(false, []),\n serviceType: new FormControl('Standard', []),\n });\n\n this.logSourceTypes.forEach(() => {\n this.logSourceTypeFormArray.push(new FormControl(true));\n this.intervalFormArray.push(\n new FormControl(5, [Validators.min(5), Validators.required])\n );\n });\n }\n\n toggleLogSourceType(i: number) {\n this.logSourceTypeFormArray.markAsDirty();\n const currentValue = this.logSourceTypeFormArray.controls[i].value;\n this.logSourceTypeFormArray.controls[i].setValue(!currentValue);\n }\n}\n\nexport function logSourceRequiredValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n let anyChecked = control.value.some((checked: boolean) => checked);\n return !anyChecked ? { required: true } : null;\n };\n}\n","
\n

{{ \"CreateRegistration.Header\" | translate }}

\n 0\"\n (click)=\"success = ''\"\n >\n
\n
\n \n \n \n {{ \"CreateRegistration.EmailRequired\" | translate }}\n {{ \"CreateRegistration.EmailInvalid\" | translate }}\n
\n
\n
\n
\n
\n
\n \n \n \n {{ \"CreateRegistration.CompanyRequired\" | translate }}\n {{ \"CreateRegistration.CompanyMaxLength\" | translate }}\n
\n
\n
\n
\n
\n \n \n
\n \n {{ \"CreateRegistration.CompanyCodeLength\" | translate }}\n
\n \n \n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n \n
\n \n \n {{\n lst.name\n }}\n \n
\n
\n
\n \n {{ \"CreateRegistration.MinimumInterval\" | translate }}\n \n {{ \"CreateRegistration.MaximumInterval\" | translate }}\n \n {{ \"CreateRegistration.IntervalRequired\" | translate }}\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n \n {{ \"CreateRegistration.LogSourceRequired\" | translate }}\n
\n
\n\n \n \n Submit\n \n \n \n \n\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GridDataResult } from '@progress/kendo-angular-grid';\nimport { lastValueFrom } from 'rxjs';\nimport {\n AppRole,\n ConsentInformation,\n PrerequisiteAppIds,\n ServicePrincipal,\n} from 'src/app/models/consent-information';\nimport { LogSourceType } from 'src/app/models/log-source-type';\nimport { ActiveUserService } from 'src/app/services/active-user-service';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport { RegistrationService } from 'src/app/services/registration-service';\nimport { TenantService } from 'src/app/services/tenant-service';\n\n@Component({\n selector: 'app-eligible-services',\n templateUrl: './eligible-services.component.html',\n styleUrls: ['./eligible-services.component.scss'],\n})\nexport class EligibleServicesComponent implements OnInit {\n eligibleAzureADLogSources: LogSourceType[] = [];\n eligibleDefenderLogSources: LogSourceType[] = [];\n eligibleOffice365LogSources: LogSourceType[] = [];\n isAzureAdDisabled = false;\n isO365Disabled = false;\n isDefenderDisabled = false;\n AzureAdDisabledAppRoles: AppRole[] = [];\n Office365DisabledAppRoles: AppRole[] = [];\n DefenderDisabledAppRoles: AppRole[] = [];\n registrationCode!: string;\n consentInformation!: ConsentInformation[];\n error: string = '';\n loadingData: boolean = false;\n gridData!: GridDataResult;\n PrerequisiteAppIds = PrerequisiteAppIds;\n constructor(\n private loadingService: LoadingService,\n private route: ActivatedRoute,\n private registrationService: RegistrationService,\n private tenantService: TenantService,\n private activeUserService: ActiveUserService,\n private router: Router,\n private translateService: TranslateService\n ) {}\n async ngOnInit() {\n try {\n this.loadingService.show();\n this.loadingData = true;\n this.registrationCode = this.route.snapshot.params.code;\n\n let registration = await this.registrationService.fetch(\n this.registrationCode\n );\n\n this.error = await this.activeUserService.validateActiveUser(\n registration.email\n );\n\n if (registration.log_sources.length > 0) {\n let logSourcesByAppId = new Map(\n registration.log_sources.map((ls) => [ls.responder_app_id, ls])\n );\n this.consentInformation = [...logSourcesByAppId.values()]\n .map((ls) => {\n let order = 0;\n switch (ls.log_source_type.prerequisite_app_id) {\n case PrerequisiteAppIds.Graph:\n order = 3;\n break;\n case PrerequisiteAppIds.Office365ManagementApi:\n order = 2;\n break;\n case PrerequisiteAppIds.MicrosoftThreatProtection:\n order = 1;\n break;\n }\n return {\n app_id: ls.responder_app_id,\n prerequisite_app_id: ls.log_source_type?.prerequisite_app_id,\n consent: false,\n order: order,\n };\n })\n .sort((a, b) => a.order - b.order);\n localStorage.setItem(\n 'consent-state',\n JSON.stringify(this.consentInformation)\n );\n }\n let logSourceTypes = registration.log_sources.map(\n (ls) => ls.log_source_type\n );\n let logSourcesTypesByPrerequisiteAppId = new Map(\n logSourceTypes.map((lst) => [\n lst?.prerequisite_app_id,\n logSourceTypes.filter(\n (flst) => flst.prerequisite_app_id === lst.prerequisite_app_id\n ),\n ])\n );\n this.eligibleAzureADLogSources =\n logSourcesTypesByPrerequisiteAppId.get(PrerequisiteAppIds.Graph) ?? [];\n this.eligibleDefenderLogSources =\n logSourcesTypesByPrerequisiteAppId.get(\n PrerequisiteAppIds.MicrosoftThreatProtection\n ) ?? [];\n this.eligibleOffice365LogSources =\n logSourcesTypesByPrerequisiteAppId.get(\n PrerequisiteAppIds.Office365ManagementApi\n ) ?? [];\n\n //Note: the call to list service principals may take a little time to start working after providing consent.\n var retries = 10;\n var servicePrincipals: ServicePrincipal[] = [];\n while (retries-- > 0) {\n try {\n servicePrincipals = await this.tenantService.listServicePrincipals();\n break;\n } catch (err: any) {\n if (retries == 0) {\n console.error(err);\n throw err;\n } else {\n await new Promise((r) => setTimeout(r, 3000));\n }\n }\n }\n let prerequisiteAppIds: string[] = [];\n for (let logSourceType of logSourceTypes) {\n prerequisiteAppIds.push(logSourceType.prerequisite_app_id);\n let servicePrincipal = servicePrincipals.find(\n (sp) => sp.app_id === logSourceType.prerequisite_app_id\n );\n\n switch (logSourceType.prerequisite_app_id) {\n case PrerequisiteAppIds.Graph: {\n this.isAzureAdDisabled =\n !servicePrincipal ||\n !servicePrincipal?.account_enabled ||\n !!servicePrincipal?.disabled_by_microsoft_status;\n this.AzureAdDisabledAppRoles =\n servicePrincipal?.app_roles.filter(\n (ar) => ar.is_enabled === false\n ) ?? [];\n break;\n }\n case PrerequisiteAppIds.MicrosoftThreatProtection: {\n this.isDefenderDisabled =\n !servicePrincipal ||\n !servicePrincipal?.account_enabled ||\n !!servicePrincipal?.disabled_by_microsoft_status;\n this.DefenderDisabledAppRoles =\n servicePrincipal?.app_roles.filter(\n (ar) => ar.is_enabled === false\n ) ?? [];\n break;\n }\n case PrerequisiteAppIds.Office365ManagementApi: {\n this.isO365Disabled =\n !servicePrincipal ||\n !servicePrincipal?.account_enabled ||\n !!servicePrincipal?.disabled_by_microsoft_status;\n this.Office365DisabledAppRoles =\n servicePrincipal?.app_roles.filter(\n (ar) => ar.is_enabled === false\n ) ?? [];\n break;\n }\n }\n }\n\n let services = await lastValueFrom(this.translateService.get('Services'));\n this.gridData = {\n data: services.filter((s: any) =>\n prerequisiteAppIds.includes(s.PrerequisiteAppId)\n ),\n total: services.length,\n };\n } catch (err: any) {\n if (err instanceof HttpErrorResponse) {\n const httpError = err as HttpErrorResponse;\n switch (httpError.error) {\n case 'Registration code has already been completed.': {\n await this.router.navigateByUrl('/');\n break;\n }\n default: {\n if (typeof httpError.error === 'string')\n this.error = httpError.error;\n else\n this.error = this.translateService.instant(\n 'Error.GenericServerError'\n );\n }\n }\n }\n console.error(err);\n } finally {\n this.loadingData = false;\n this.loadingService.hide();\n }\n }\n\n async beginConsent() {\n let ci = this.consentInformation.find((ci) => ci.consent == false);\n if (ci)\n await this.registrationService.adminConsent(\n ci.app_id,\n encodeURIComponent(\n JSON.stringify({\n state: this.registrationCode,\n appId: ci.app_id,\n })\n )\n );\n }\n}\n","
\n
\n

{{ \"EligibleServices.Heading\" | translate }}

\n\n

\n {{ \"EligibleServices.SubHeading\" | translate }}\n

\n
\n \n \n \n {{ dataItem.Name }}\n \n {{ \"EligibleServices.DefenderDisabledMessage\" | translate }}\n
\n \n {{ \"EligibleServices.Office365DisabledMessage\" | translate }}\n
\n \n \n \n \n {{ dataItem.Description }}\n \n \n \n \n
\n
\n \n
  • \n
    \n \n post_add\n \n 0\n \"\n class=\"material-icons text-warning hover-hand mr-1\"\n title=\"Your organization's configuration does not meet the application requirements\"\n >\n error\n \n {{ item.name }}\n
    \n 0\n \"\n >\n
      \n
    • \n {{\n \"EligibleServices.PrerequisiteAppDisabled\"\n | translate\n }}\n
    • \n
    • \n \n The required {{ role.value }} permission is\n disabled.\n \n
    • \n
    \n
  • \n \n \n
    \n
    \n \n
  • \n
    \n \n post_add\n \n 0\n \"\n class=\"material-icons text-warning hover-hand mr-1\"\n title=\"Your organization's configuration does not meet the application requirements\"\n >\n error\n \n {{ item.name }}\n
    \n 0\n \"\n >\n
      \n
    • \n {{\n \"EligibleServices.PrerequisiteAppDisabled\"\n | translate\n }}\n
    • \n
    • \n \n The required {{ role.value }} permission is\n disabled.\n \n
    • \n
    \n
  • \n \n \n
    \n
    \n \n
  • \n
    \n \n post_add\n \n 0\n \"\n class=\"material-icons text-warning hover-hand mr-1\"\n title=\"Your organization's configuration does not meet the application requirements\"\n >\n error\n \n {{ item.name }}\n
    \n
  • \n 0\n \"\n >\n
      \n
    • \n {{\n \"EligibleServices.PrerequisiteAppDisabled\" | translate\n }}\n
    • \n
    • \n \n The required {{ role.value }} permission is disabled.\n \n
    • \n
    \n
    \n \n \n \n \n \n \n \n {{ \"EligibleServices.ConsentWarning\" | translate }}\n
    \n \n
    \n \n \n \n \n \n \n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-end-user-agreement',\n templateUrl: './end-user-agreement.component.html',\n styleUrls: ['./end-user-agreement.component.scss']\n})\nexport class EndUserAgreementComponent {\n\n}\n","
    \n
    \n
    \n

    \n KROLL RESPONDER FOR OFFICE 365 PORTAL
    END USER AGREEMENT – UNITED STATES\n

    \n

    \n PLEASE READ THIS END USER AGREEMENT CAREFULLY\n

    \n

     

    \n

    1. WHO WE ARE AND WHAT THIS DOCUMENT DOES

    \n

    \n We are Kroll Information Assurance, LLC (“Kroll,”\n “we”, “us”, or “our”\n as applicable), of 55 E. 52nd Street, 17th floor,\n New York, NY 10055, Attn. General Counsel, and hereby provide a limited\n license to you an End User data owner (““End User”,\n “you” or “your” as applicable) to\n perform necessary additions or modifications to Personally Identifiable\n Information or Protected Health Information required to provide identity\n theft and breach notification services to affected individuals via the\n Kroll Responder for Office 365 Portal (the “Portal”)\n provided by Kroll pursuant to the Portal Terms of Use (Kroll and the End\n User are each a “Party” and together, the\n “Parties”) to use:\n

    \n
      \n
    • \n Kroll’s portal software (“Portal”) and any updates or\n supplements to it\n
    • \n
    • \n Related online or electronic documentation found in the Portal\n (“Documentation”)\n
    • \n
    • \n The services we provide to you through the Portal\n (“Services”)\n
    • \n
    \n

    \n as permitted by and subject to the terms and conditions of this Portal\n End User Agreement (“Agreement”), which forms a legally\n binding contract between End User and Kroll. Together, each of the items\n bullet pointed above are collectively referred to within this Agreement\n as the “Platform”. \n

    \n

    \n If you are an individual agreeing to this Agreement, you agree that the\n terms and conditions of this Agreement apply to you as an End User;\n additionally, if you are agreeing to this Agreement on behalf of a\n company, organization, other legal entity or legal person, you represent\n that you have the authority to bind that entity and its affiliates,\n related entities, and its respective employees, agents, delegates,\n representatives and any other individuals that access and use the Portal\n and receive the Services (“Authorized End Users”), to\n the terms and conditions of this Agreement. If you do not agree with the\n terms and conditions in this Agreement, or if you do not have such\n authority, Authorized End Users will not be permitted to access, receive\n and use the Portal and Services\n

    \n

    Why the End User should read this Agreement

    \n

    \n These terms tell you who we are, how we will provide Services to you,\n how you and we may change or end the Agreement, what to do if there is a\n problem and other important information. If you think that there is a\n mistake in these terms that require any changes, please contact us to\n discuss.\n

    \n

    \n The Services referred to herein mean any or all of the following as\n appropriate:

    Third-party Breach Management: With input\n from End User, or End User and/or Law Firm, Kroll will develop and\n operate a customer-facing website portal that enables customers to view\n their list of impacted data, opt-in to End User notifying individuals\n and/or regulators on customers’ behalf, adjust contact information and\n receive reporting regarding notified individuals.\n

    \n

    \n Multi-Level Notification for Third-Party Breach Management:\n For End Users that require notification to their customers, as well as\n downstream data owners of the End User’s customers, additional fees will\n be required to facilitate this multi-level notification in developing\n and operating the customer-facing website portal.\n

    \n

    \n Custom Third-Party Breach Technology & Reporting\n Development:\n Requests regarding modifications to the user flow and/or functionality\n of the customer-facing website portal outside of current, or development\n of custom third-party reports will incur additional fees. This service\n is an hourly fee.  Upon receipt of a request, Kroll can provide an\n estimate of delivery time and cost.\n

    \n

    \n If you would like a more detailed overview of the Services we provide,\n please contact us using our\n Contact Us\n page.\n

    \n

    2. OUR AGREEMENT WITH YOU

    \n

    \n How Kroll will provide End User with the Services. \n

    \n

    \n We will provide you with access to Services through the use of our\n Platform.  You must agree to the\n Portal Terms of Use in order to access our Services.\n The Portal Terms of Use are expressly incorporated into the terms of\n this Agreement between us. Failure to agree to the Portal Terms of Use\n may result in our refusing to allow you access or withdrawing or\n suspending your access to the Services.\n

    \n

    \n If Kroll cannot provide End User with the Services. \n

    \n

    \n It may not be possible to provide Services for any reason, including\n because of unexpected limits on our resources that we could not\n reasonably plan for, because we are unable to meet a performance\n deadline or unable to meet a specification you have instructed us to\n meet or for technical or security reasons.\n

    \n

    \n Kroll only offers our Services within the United States.\n

    \n

    \n Our Services are solely for use by US residents (or permanent residents)\n in the United States of America (“US”). We do not provide our Services\n outside of the United States.\n

    \n

    3. THERE ARE OTHER TERMS THAT APPLY TO YOU

    \n

    \n This Agreement refers to the following additional terms that also apply\n to your use of our Portal:\n

    \n \n

    \n 4. KROLL’S SERVICES

    Services may vary slightly from their description\n

    \n

    \n The description of the Services is for illustrative purposes only.\n Although we have made every effort to describe them, their scope and\n their purpose accurately, we cannot guarantee that the description\n accurately reflects the Services or that you will receive the Services\n exactly as described. We do not make any representation, warranty or\n guarantees, express, implied, or otherwise that the Services are\n suitable for your specific needs.\n

    \n

    \n Making sure the information the End User gives to Kroll is\n accurate.\n

    \n

    \n Because Kroll is offering the End User the Services based on the\n information (including personal data) the End User has given Kroll, the\n End User is responsible for ensuring that this information is correct,\n and the End User will continue to maintain it in an updated and accurate\n manner.\n

    \n

    5. KROLL’S RIGHT TO MAKE CHANGES TO THE SERVICES

    \n

    Changes to the Services

    \n

    Kroll may change the Services:

    \n
      \n
    • \n To reflect changes in relevant laws and regulatory requirements; and\n
    • \n
    • \n To implement minor technical adjustments and improvements, for\n example, to address a security threat.\n
    • \n
    \n

    Update to the Portal and changes to the Services

    \n

    \n From time to time Kroll may automatically update the Platform and change\n it to improve performance, enhance functionality, reflect changes to the\n operating system or address security issues.\n

    \n

    6. PROVIDING THE SERVICES

    \n

    When Kroll will provide the Services

    \n

    \n Kroll will provide End User with the Services as outlined in the service\n description until End User or Kroll end this Agreement as described in\n the Termination of Relationship Section.\n

    \n

    \n Kroll is not responsible for delays outside our control\n

    \n

    \n If Kroll’s supply of the Services to End User is delayed by an event\n outside our control, Kroll will contact End User as soon as possible to\n let you know and we will take steps to minimize the effect of the delay.\n Provided Kroll does this, Kroll will not be liable for delays caused by\n the event, but if there is a risk of substantial delay the End User may\n contact Kroll to end the Agreement.\n

    \n

    \n What will happen if the End User does not give required information\n to Kroll\n

    \n

    \n Kroll may need certain information from the End User so that we can\n supply the Services to you in full or to the best of our ability. For\n example, we do require you to provide personal data as directed on our\n Platform. If you do not give us this information within a reasonable\n time of our request, or if you give us incomplete or incorrect\n information, we may end the Agreement (and the Termination of\n Relationship Section will apply). Kroll will not be responsible for\n supplying the Services late or not supplying any part of them if this is\n caused by End User not providing the information Kroll needs.\n

    \n

    7. TERMINATION OF RELATIONSHIP

    \n

    Termination by End User

    \n

    \n If you want to terminate the Agreement, you may do so, for any reason,\n at any time, by requesting Kroll deactivate your account(s). \n

    \n

    Termination by Kroll

    \n

    For Cause:

    \n

    \n Kroll may terminate the Agreement if the End User has breached the\n Agreement or if the End User commits (or causes to be committed)\n negligence, fraud, willful misconduct or unlawful conduct arising from,\n in connection with, or related to use of Kroll’s Services or Platform.\n

    \n

    For Convenience:

    \n

    \n Kroll may terminate the Agreement for convenience, for any reason\n permitted by law. In such case, Kroll will provide fifteen (15) days’\n prior written notice of such termination, where practicable.\n

    \n

    Effect of Termination:

    \n

    \n Provisions of the Agreement which by their nature are intended to\n survive termination of the Agreement shall survive termination of the\n Agreement.\n

    \n

    \n 8. HOW KROLL MAY USE THE END USER’S PERSONAL INFORMATION\n

    \n

    \n Kroll will only use your personal information as set out in our Privacy Policy. Additional consumer identity monitoring information collected about\n you may include the following:\n

    \n

    Personal Information You Provide to Us

    \n

    \n During the creation of an End User account on Kroll’s Portal, or in\n order to provide the Services, we may collect personal information about\n you, such as:\n

    \n
      \n
    • Name and e-mail address
    • \n
    • \n The information you provide in customer service contact or\n correspondence\n
    • \n
    • \n When you talk to us: for example, on the phone, or in person including\n call recordings and voice messages. We may monitor or record calls\n with you to verify we have carried out your instructions, to resolve\n queries or disputes, to improve the quality of our service or for\n regulatory or fraud prevention purposes.\n
    • \n
    • \n In writing: for example, letters, proposal forms, survey responses,\n e-mails, chat messages and texts.\n
    • \n
    \n

    \n Information that may be collected automatically including when an End\n User uses Kroll’s Services\n

    \n
      \n
    • \n Transaction data: for example, when Kroll deals with or manages the\n End User’s account;\n
    • \n
    • \n Electronically: for example, when an End User uses Kroll’s Portal;\n
    • \n
    • \n Usage and profile data: for example, from End User’s use of Kroll’s\n Portal. We gather this data using cookies and other software, which\n also helps us to fix bugs or crashes on the operating system or\n network.\n
    • \n
    \n

    \n 9. OTHER IMPORTANT TERMS

    Entire Agreement.\n

    \n

    \n This Agreement, including the Portal Terms of Use, constitutes the\n entire agreement between the parties and supersedes and extinguishes all\n previous agreements, promises, assurances, warranties, representations\n and understandings between us, whether written or oral, relating to its\n subject matter.\n

    \n

    Rights and Remedies.

    \n

    \n The rights and remedies provided under this Agreement are in addition\n to, and not exclusive of, any rights or remedies provided by law.\n

    \n

    Notices.

    \n

    \n Any notice of other communication given to us will only be valid if it\n is given in writing to the details set out for us in Section 1 of this\n Agreement or as we may otherwise notify you. You agree that any\n communication sent to you will be deemed to have been safely received if\n it is given to you in writing using the contact details, including\n e-mail, which you provide to us on our Platform or as you may otherwise\n notify us in writing.\n

    \n

    Variation.

    \n

    \n Except as set out herein, no variation of this Agreement shall be\n effective unless it is in writing and signed by the parties (or their\n authorized representatives).\n

    \n

    Questions.

    \n

    \n If you have any questions or comments about this Agreement, please\n Contact Us.\n  \n

    \n

    End User Agreement Effective Date: June 1st, 2023

    \n

     

    \n

     

    \n

     

    \n

     

    \n

     

    \n

     

    \n

     

    \n
    \n
    \n
    \n","\n \n \n error\n

    \n {{ \"Error.Heading\" | translate }}\n

    \n \n \n
    \n {{ \"Error.InvalidUser\" | translate }}\n
    \n \n
    \n
    \n
    \n {{ \"Error.SessionExpired\" | translate }}\n
    \n \n
    \n
    \n
    \n {{ \"Error.GenericServerError\" | translate }}\n
    \n \n\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MsalService } from '@azure/msal-angular';\nimport { Session } from 'src/app/models/session';\nimport { Responder365AppConfig } from 'src/app/services/app-config-service';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport { SessionService } from 'src/app/services/session-service';\n\n@Component({\n selector: 'app-error',\n templateUrl: './error.component.html',\n styleUrls: ['./error.component.scss'],\n})\nexport class ErrorComponent implements OnInit {\n error: string = '';\n constructor(\n public authService: MsalService,\n private config: Responder365AppConfig,\n private sessionService: SessionService,\n private router: Router,\n public loadingService: LoadingService\n ) {}\n async ngOnInit(): Promise {\n this.loadingService.show();\n this.error = history.state.error;\n let session: Session | null = null;\n\n if (!this.error) {\n try {\n session = await this.sessionService.fetch();\n } catch (err: any) {\n console.error(err);\n switch (err.status) {\n case 401:\n this.error = 'invalid-user';\n break;\n case 403:\n this.error = 'expired-session';\n break;\n default:\n this.error = 'unknown';\n }\n } finally {\n if (session?.roles?.length != null && session.roles.length > 0)\n await this.router.navigateByUrl('/');\n }\n }\n this.loadingService.hide();\n }\n\n async switchAccount() {\n this.loadingService.show();\n try {\n await this.sessionService.end();\n } finally {\n await this.authService.instance.loginRedirect({\n scopes: [`api://${this.config?.authConfig?.clientId}/User.Api.Access`],\n prompt: 'select_account',\n });\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport moment from 'moment-timezone';\nimport { EscalationDetail } from 'src/app/models/escalation-detail';\nimport { EscalationContact } from 'src/app/models/escalation-contact';\nimport { ContactType } from 'src/app/models/contact-type';\nimport { SupportType } from 'src/app/models/support-type';\nimport { TextBoxComponent } from '@progress/kendo-angular-inputs';\nimport { Tenant } from 'src/app/models/tenant';\nimport { Align } from '@progress/kendo-angular-popup';\n\n@Component({\n selector: 'app-escalation-matrix',\n templateUrl: './escalation-matrix.component.html',\n styleUrls: ['./escalation-matrix.component.scss'],\n})\nexport class EscalationMatrixComponent implements OnInit, OnChanges {\n registrationCode!: string;\n formGroup!: FormGroup;\n isError: boolean = false;\n error: string = '';\n success: string = '';\n timezones: any[] = [];\n @Input() contactTypes: ContactType[] = [];\n @Input() supportTypes: SupportType[] = [];\n @Input() disabled = true;\n @Input() escalationContacts: EscalationContact[] = [];\n @Input() escalationDetail: EscalationDetail = {};\n @Input() tenant: Tenant = {};\n @Output() onSubmit = new EventEmitter();\n readonly PHONE_REGEX = /^([1-9]\\d{0,2}[\\d+() -]+)?$/;\n readonly NAME_REGEX =\n /^(?=.{1,50}$)((?!.*[-']{2})[-']*)[a-zA-Z]+(?:[-']*[a-zA-Z\\s]*)*$/;\n selectedContactTypes: ContactType[] = [];\n @ViewChild('passphrase') public passphrase!: TextBoxComponent;\n showPasswordTip = false;\n @ViewChild('anchor', { read: ElementRef }) public anchor!: ElementRef;\n @ViewChild('popup', { read: ElementRef }) public popup!: ElementRef;\n public popupAlign: Align = { horizontal: 'left', vertical: 'top' };\n public anchorAlign: Align = { horizontal: 'right', vertical: 'center' };\n constructor(private formBuilder: FormBuilder) {}\n\n async ngOnInit(): Promise {\n this.getTimezones();\n const guessedTimezone = this.timezones.find(\n (tz) => tz.value === moment.tz.guess()\n );\n\n const inHoursTimezone = this.timezones.find(\n (tz) => tz.offset === this.escalationDetail.in_hours_utc_offset\n );\n\n this.formGroup = this.formBuilder.group({});\n\n this.formGroup.addControl(\n 'passphrase',\n new FormControl(this.escalationDetail.pass_phrase, [\n Validators.required,\n Validators.maxLength(256),\n ])\n );\n\n this.formGroup.addControl(\n 'inHoursTimezone',\n new FormControl(inHoursTimezone ?? guessedTimezone, [Validators.required])\n );\n\n this.formGroup.addControl(\n 'inHoursStartTime',\n new FormControl(\n this.getDateFromTimeParts(this.escalationDetail.in_hours_start_time),\n [Validators.required]\n )\n );\n\n this.formGroup.addControl(\n 'inHoursEndTime',\n new FormControl(\n this.getDateFromTimeParts(this.escalationDetail.in_hours_end_time),\n [Validators.required]\n )\n );\n\n this.formGroup.addValidators(this.startTimeBeforeEnd('inHours'));\n\n const primaryContactType = this.contactTypes[0];\n if (!this.disabled && primaryContactType) {\n this.selectedContactTypes.push(primaryContactType);\n } else {\n this.selectedContactTypes = this.contactTypes;\n }\n\n for (let contactType of this.selectedContactTypes) {\n for (let supportType of this.supportTypes) {\n const contact = this.escalationContacts.find(\n (c) =>\n c.contact_type_id === contactType.id &&\n c.support_type_id === supportType.id\n );\n\n this.formGroup.addControl(\n contactType.name + '_' + supportType.name + '_' + 'email',\n new FormControl(contact?.email, [\n Validators.required,\n Validators.email,\n ])\n );\n this.formGroup.addControl(\n contactType.name + '_' + supportType.name + '_' + 'first_name',\n new FormControl(contact?.first_name, [\n Validators.required,\n Validators.pattern(this.NAME_REGEX),\n ])\n );\n this.formGroup.addControl(\n contactType.name + '_' + supportType.name + '_' + 'last_name',\n new FormControl(contact?.last_name, [\n Validators.required,\n Validators.pattern(this.NAME_REGEX),\n ])\n );\n this.formGroup.addControl(\n contactType.name + '_' + supportType.name + '_' + 'phone',\n new FormControl(contact?.phone, [\n Validators.required,\n Validators.pattern(this.PHONE_REGEX),\n Validators.maxLength(31), //this is technically not required, but should not be possible to have a phone number longer than this\n ])\n );\n }\n }\n if (this.disabled) {\n this.formGroup.disable();\n }\n }\n\n async submitForm() {\n if (this.formGroup.valid) {\n this.escalationDetail.pass_phrase = this.passphrase.value;\n this.escalationDetail.in_hours_start_time = moment(\n this.formGroup.value['inHoursStartTime']\n ).format('HH:mm');\n this.escalationDetail.in_hours_end_time = moment(\n this.formGroup.value['inHoursEndTime']\n ).format('HH:mm');\n this.escalationDetail.in_hours_utc_offset =\n this.formGroup.value['inHoursTimezone'].offset;\n\n for (const supportType of this.supportTypes) {\n for (const contactType of this.selectedContactTypes) {\n const firstName =\n this.formGroup.value[\n contactType.name + '_' + supportType.name + '_first_name'\n ];\n const lastName =\n this.formGroup.value[\n contactType.name + '_' + supportType.name + '_last_name'\n ];\n const phone: string =\n this.formGroup.value[\n contactType.name + '_' + supportType.name + '_phone'\n ];\n\n const email =\n this.formGroup.value[\n contactType.name + '_' + supportType.name + '_email'\n ];\n\n if ((firstName && lastName) || phone || email) {\n let escalationContact = this.escalationContacts.find(\n (ec) =>\n ec.contact_type_id === contactType.id &&\n ec.support_type_id === supportType.id\n );\n if (escalationContact) {\n escalationContact.first_name = firstName;\n escalationContact.last_name = lastName;\n escalationContact.phone = phone;\n escalationContact.email = email;\n } else {\n this.escalationContacts.push({\n contact_type_id: contactType.id,\n support_type_id: supportType.id,\n first_name: firstName,\n last_name: lastName,\n phone: phone,\n email: email,\n });\n }\n }\n }\n }\n this.onSubmit.emit();\n } else {\n this.formGroup.markAllAsTouched();\n }\n }\n\n getTimezones() {\n let names = moment.tz.names();\n let offsetTmz = [];\n for (let name of names) {\n let currentDate = moment.tz(name);\n offsetTmz.push({\n display: `(UTC${currentDate.format('Z')}) ${name.replace('_', ' ')}`,\n value: name,\n offset: currentDate.format('Z'),\n offsetMinutes: currentDate.utcOffset(),\n });\n }\n this.timezones = offsetTmz.sort((a, b) =>\n a.offsetMinutes < b.offsetMinutes ? -1 : 0\n );\n }\n\n startTimeBeforeEnd(group: string) {\n return (): { [key: string]: any } => {\n let f = this.formGroup.controls[group + 'StartTime'];\n let t = this.formGroup.controls[group + 'EndTime'];\n if (!f?.value || !t?.value) return {};\n if (f?.value >= t?.value) {\n return {\n dates: group,\n };\n }\n return {};\n };\n }\n\n getDateFromTimeParts(timeString: string) {\n if (timeString) {\n const timeParts = timeString.split(':');\n return new Date(\n new Date().setHours(Number(timeParts[0]), Number(timeParts[1]))\n );\n }\n return null;\n }\n\n addContact() {\n const nextType = this.contactTypes[this.selectedContactTypes.length];\n if (nextType) {\n this.selectedContactTypes.push(nextType);\n for (let supportType of this.supportTypes) {\n this.formGroup.addControl(\n nextType.name + '_' + supportType.name + '_' + 'email',\n new FormControl('', [Validators.required, Validators.email])\n );\n this.formGroup.addControl(\n nextType.name + '_' + supportType.name + '_' + 'first_name',\n new FormControl('', [Validators.required])\n );\n this.formGroup.addControl(\n nextType.name + '_' + supportType.name + '_' + 'last_name',\n new FormControl('', [Validators.required])\n );\n this.formGroup.addControl(\n nextType.name + '_' + supportType.name + '_' + 'phone',\n new FormControl('', [\n Validators.required,\n Validators.pattern(this.PHONE_REGEX),\n ])\n );\n }\n }\n }\n\n removeContact() {\n const lastType = this.selectedContactTypes.pop();\n if (lastType) {\n for (let supportType of this.supportTypes) {\n this.formGroup.removeControl(\n lastType.name + '_' + supportType.name + '_' + 'email'\n );\n this.formGroup.removeControl(\n lastType.name + '_' + supportType.name + '_' + 'first_name'\n );\n this.formGroup.removeControl(\n lastType.name + '_' + supportType.name + '_' + 'last_name'\n );\n this.formGroup.removeControl(\n lastType.name + '_' + supportType.name + '_' + 'phone'\n );\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.disabled?.currentValue === true) {\n this.formGroup?.disable();\n } else {\n this.formGroup?.enable();\n }\n }\n\n public mouseEnter(event: Event) {\n if (this.contains(event.target)) {\n this.showPasswordTip = true;\n }\n }\n\n public mouseLeave(event: Event) {\n if (this.contains(event.target)) {\n this.showPasswordTip = false;\n }\n }\n\n private contains(target: EventTarget | null): boolean {\n return (\n this.anchor.nativeElement.contains(target) ||\n (this.popup ? this.popup.nativeElement.contains(target) : false)\n );\n }\n}\n","
    \n
    \n
    \n
    \n {{ \"FinishSetup.Passphrase\" | translate }}\n
    \n \n privacy_tip\n \n \n
    \n {{ \"FinishSetup.PassPhraseTip\" | translate }}\n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n\n \n {{ \"FinishSetup.PassPhraseRequired\" | translate }}\n {{ \"FinishSetup.PassPhraseMaxLength\" | translate }}\n
    \n
    \n
    \n
    \n
    \n {{ \"FinishSetup.CustomerLocalTime\" | translate }}\n
    \n
    \n
    \n \n\n to\n \n\n \n \n
    \n \n {{ \"FinishSetup.CustomerHoursRequired\" | translate }}\n
    \n \n {{ \"FinishSetup.CustomerHoursDateError\" | translate }}\n
    \n \n \n
    \n
    \n
    \n {{ \"FinishSetup.CustomerInHours\" | translate }}\n
    \n
    \n {{ \"FinishSetup.CustomerOutHours\" | translate }}\n
    \n
    \n
    \n
    \n \n {{ contactType.name | titlecase }}\n {{ \"FinishSetup.ContactDetails\" | translate }}\n
    \n
    \n
    \n
    \n {{ \"FinishSetup.Name\" | translate }}\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n \n
    \n {{ \"FinishSetup.NameRequired\" | translate }}\n
    \n
    {{ \"FinishSetup.NameInvalid\" | translate }}
    \n
    \n
    \n
    \n
    \n
    \n
    \n {{ \"FinishSetup.PhoneNumber\" | translate }}\n
    \n
    \n
    \n \n +\n \n \n {{ \"FinishSetup.PhoneRequired\" | translate }}\n {{ \"FinishSetup.PhoneInvalid\" | translate }}\n\n {{ \"FinishSetup.PhoneMaxLength\" | translate }}\n
    \n
    \n
    \n
    \n
    \n
    \n {{ \"FinishSetup.Email\" | translate }}\n
    \n
    \n
    \n \n \n {{ \"FinishSetup.EmailRequired\" | translate }}\n {{ \"FinishSetup.EmailInvalid\" | translate }}\n
    \n
    \n
    \n \n \n \n \n
    \n
    \n {{ \"FinishSetup.AddContact\" | translate }}\n
    \n \n \n add\n \n \n 1\"\n >\n \n remove\n \n \n
    \n
    \n
    \n
    \n
    \n {{ \"FinishSetup.StartMonitoring\" | translate }}\n
    \n \n {{ \"FinishSetup.CompleteRegistration\" | translate }}\n \n
    \n
    \n
    \n\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { RegistrationService } from 'src/app/services/registration-service';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport { EscalationDetail } from 'src/app/models/escalation-detail';\nimport { EscalationContact } from 'src/app/models/escalation-contact';\nimport { ContactTypeService } from 'src/app/services/contact-type-service';\nimport { SupportTypeService } from 'src/app/services/support-type-service';\nimport { ContactType } from 'src/app/models/contact-type';\nimport { SupportType } from 'src/app/models/support-type';\nimport { ActiveUserService } from 'src/app/services/active-user-service';\n\n@Component({\n selector: 'app-finish-setup',\n templateUrl: './finish-setup.component.html',\n styleUrls: ['./finish-setup.component.scss'],\n})\nexport class FinishSetupComponent implements OnInit {\n registrationCode!: string;\n formGroup!: FormGroup;\n isDisabled = false;\n initError: boolean = false;\n isError: boolean = false;\n error: string = '';\n success: string = '';\n timezones: any[] = [];\n escalationContacts: EscalationContact[] = [];\n escalationDetail: EscalationDetail = {};\n contactTypes: ContactType[] = [];\n supportTypes: SupportType[] = [];\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private registrationService: RegistrationService,\n private translateService: TranslateService,\n public loadingService: LoadingService,\n private contactTypeService: ContactTypeService,\n private supportTypeService: SupportTypeService,\n private activeUserService: ActiveUserService\n ) {}\n\n async ngOnInit(): Promise {\n this.loadingService.show();\n const [allContactTypes, allSupportTypes] = await Promise.all([\n this.contactTypeService.list(),\n this.supportTypeService.list(),\n ]);\n this.contactTypes = allContactTypes;\n this.supportTypes = allSupportTypes;\n\n this.registrationCode = this.route.snapshot.queryParamMap.get('code') ?? '';\n\n try {\n const registration = await this.registrationService.fetch(\n this.registrationCode\n );\n\n const tenantId = localStorage.getItem('tenantId');\n\n if (tenantId) {\n this.error = await this.activeUserService.validateActiveUser(\n registration.email\n );\n } else {\n await this.router.navigateByUrl('/');\n }\n } catch (err: any) {\n if (err instanceof HttpErrorResponse) {\n const httpError = err as HttpErrorResponse;\n switch (httpError.error) {\n case 'Registration code has already been completed.': {\n await this.router.navigateByUrl('/');\n break;\n }\n default: {\n if (typeof httpError.error === 'string')\n this.error = httpError.error;\n else\n this.error = this.translateService.instant(\n 'Error.GenericServerError'\n );\n }\n }\n } else {\n this.error = this.translateService.instant('Error.GenericServerError');\n }\n this.initError = true;\n }\n\n this.loadingService.hide();\n }\n\n async onSubmit() {\n try {\n this.isDisabled = true;\n this.error = '';\n\n await this.registrationService.complete(\n this.registrationCode,\n this.escalationDetail,\n this.escalationContacts\n );\n\n await this.router.navigateByUrl('/');\n } catch (err: any) {\n this.isError = true;\n console.error(err);\n if (err instanceof HttpErrorResponse) {\n if (typeof err.error === 'string') this.error = err.error;\n else\n this.error = this.translateService.instant(\n 'Error.GenericServerError'\n );\n }\n } finally {\n this.isDisabled = false;\n }\n }\n\n async restartRegistration() {\n await this.router.navigateByUrl(`/register/${this.registrationCode}`);\n }\n}\n","
    \n

    {{ \"FinishSetup.Heading\" | translate }}

    \n

    {{ \"FinishSetup.SubHeading\" | translate }}

    \n \n \n \n
    \n \n {{ \"FinishSetup.StartOver\" | translate }}\n \n
    \n
    \n","\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss'],\n})\nexport class FooterComponent implements OnInit {\n copyrightYear = 0;\n constructor() {}\n\n ngOnInit(): void {\n this.copyrightYear = new Date().getFullYear();\n }\n}\n","
    \n
    \n \n \n
    \n
    \n \n {{ getActiveUsersName() }}\n \n {{\n getActiveUsername()\n }}\n
    \n account_circle\n arrow_drop_down\n
    \n \n \n \n
    \n switch_account\n Switch Account\n
    \n
    \n
    \n \n \n
    \n logout\n Log out\n
    \n
    \n
    \n \n
    \n
    \n\n","import { Component, OnInit } from '@angular/core';\nimport { MsalService } from '@azure/msal-angular';\nimport { RedirectRequest } from '@azure/msal-browser';\nimport { Responder365AppConfig } from 'src/app/services/app-config-service';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport { SessionService } from 'src/app/services/session-service';\nimport { SideBarService } from 'src/app/services/side-bar-service';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n})\nexport class HeaderComponent implements OnInit {\n constructor(\n public authService: MsalService,\n private sideBarService: SideBarService,\n private config: Responder365AppConfig,\n public loadingService: LoadingService,\n private sessionService: SessionService\n ) {}\n\n ngOnInit(): void {}\n\n isLoggedIn(): boolean {\n return this.authService.instance.getAllAccounts().length > 0;\n }\n\n getActiveUsername() {\n return this.authService.instance.getActiveAccount()?.username;\n }\n\n getActiveUsersName() {\n return this.authService.instance.getActiveAccount()?.name;\n }\n\n toggle() {\n this.sideBarService.toggleSideBar();\n }\n\n async switchAccount() {\n await this.loadingService.show();\n try {\n await this.sessionService.end();\n } finally {\n await this.authService.instance.loginRedirect({\n scopes: [`api://${this.config?.authConfig?.clientId}/User.Api.Access`],\n prompt: 'select_account',\n });\n }\n }\n\n async logout() {\n await this.loadingService.show();\n try {\n await this.sessionService.end();\n } finally {\n await this.authService.instance.logout({\n account: this.authService.instance.getActiveAccount(),\n });\n }\n }\n}\n","
    \n
    \n
    \n \n
    \n
    \n","import { Component } from '@angular/core';\nimport { LoadingService } from 'src/app/services/loading-service';\n\n@Component({\n selector: 'app-loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.scss'],\n})\nexport class LoadingComponent {\n constructor(public loadingService: LoadingService) {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LogSourceWrapper } from 'src/app/models/log-source';\nimport { LogSourceType } from 'src/app/models/log-source-type';\nimport { lastValueFrom } from 'rxjs';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport { LogSourceService } from 'src/app/services/log-source-service';\nimport { LogSourceTypeService } from 'src/app/services/log-source-type-service';\nimport {\n RegistrationService,\n isExpired,\n} from 'src/app/services/registration-service';\nimport { Responder365AppConfig } from 'src/app/services/app-config-service';\nimport { Registration } from 'src/app/models/registration';\nimport {\n ConsentInformation,\n PrerequisiteAppIds,\n} from 'src/app/models/consent-information';\nimport { GridDataResult } from '@progress/kendo-angular-grid';\n\n@Component({\n selector: 'app-monitoring-dashboard',\n templateUrl: './monitoring-dashboard.component.html',\n styleUrls: ['./monitoring-dashboard.component.scss'],\n})\nexport class MonitoringDashboardComponent implements OnInit {\n error: string = '';\n success: string = '';\n logSourceWrappers: LogSourceWrapper[] = [];\n logSourceTypes: LogSourceType[] = [];\n isAllHealthy: boolean = true;\n isActivityFeedHealthy: boolean = true;\n isDefenderHealthy: boolean = true;\n isDefenderCloudAppsHealthy: boolean = true;\n interval: any;\n registrations: Registration[] = [];\n isExpired = isExpired;\n hasExpiredTrial: boolean = false;\n consentInformation!: ConsentInformation[];\n loadingData: boolean = false;\n gridData!: GridDataResult;\n\n constructor(\n private registrationService: RegistrationService,\n private logSourceService: LogSourceService,\n private logSourceTypeService: LogSourceTypeService,\n private translateService: TranslateService,\n public loadingService: LoadingService,\n private config: Responder365AppConfig\n ) {}\n\n async ngOnInit(): Promise {\n this.loadingService.show();\n this.loadingData = true;\n try {\n this.registrations = await this.registrationService.list();\n this.hasExpiredTrial = this.registrations\n .filter((r) => r.is_trial)\n .some((r) => isExpired(r.trial_expiration));\n this.logSourceTypes = await this.logSourceTypeService.list();\n this.interval = setInterval(async () => {\n await this.fetchLogSourceDetails();\n }, this.config.pollIntervalSeconds * 1000);\n await this.fetchLogSourceDetails();\n let services = await lastValueFrom(this.translateService.get('Services'));\n let prerequisiteAppIds = this.logSourceWrappers.map(\n (lsw) => lsw.log_source_type?.prerequisite_app_id\n );\n this.gridData = {\n data: services.filter((s: any) =>\n prerequisiteAppIds.includes(s.PrerequisiteAppId)\n ),\n total: services.length,\n };\n } finally {\n this.loadingData = false;\n this.loadingService.hide();\n }\n }\n\n getLogSourcesForPrerequisiteAppId(\n prerequisiteAppId: string\n ): LogSourceWrapper[] {\n return this.logSourceWrappers.filter(\n (lsw) => lsw.log_source_type.prerequisite_app_id === prerequisiteAppId\n );\n }\n\n async adminConsent() {\n let logSourceWrappersByAppId = new Map(\n this.logSourceWrappers.map((lsw) => [\n lsw.log_source.responder_app_id,\n lsw,\n ])\n );\n this.consentInformation = [...logSourceWrappersByAppId.values()]\n .map((lsw) => {\n let order = 0;\n switch (lsw.log_source_type.prerequisite_app_id) {\n case PrerequisiteAppIds.Graph:\n order = 3;\n break;\n case PrerequisiteAppIds.Office365ManagementApi:\n order = 2;\n break;\n case PrerequisiteAppIds.MicrosoftThreatProtection:\n order = 1;\n break;\n }\n return {\n app_id: lsw.log_source.responder_app_id,\n prerequisite_app_id: lsw.log_source_type?.prerequisite_app_id,\n consent: false,\n order: order,\n };\n })\n .sort((a, b) => a.order - b.order);\n localStorage.setItem(\n 'consent-state',\n JSON.stringify(this.consentInformation)\n );\n\n let ci = this.consentInformation.find((ci) => ci.consent == false);\n if (ci)\n await this.registrationService.adminConsent(\n ci.app_id,\n encodeURIComponent(\n JSON.stringify({\n state: 'reconsent',\n appId: ci.app_id,\n })\n )\n );\n }\n\n async fetchLogSourceDetails() {\n const logSources = await this.logSourceService.list();\n let isAllHealthy = true;\n let isActivityFeedHealthy = true;\n let isDefenderHealthy = true;\n let isDefenderCloudAppsHealthy = true;\n for (const logSource of logSources.filter((ls) => ls.is_enabled)) {\n const logSourceType = this.logSourceTypes.find(\n (lst) => lst.id === logSource.log_source_type_id\n );\n const registration = this.registrations.find(\n (r) => r.id === logSource.registration_id\n );\n const existingLogSourceWrapper = this.logSourceWrappers.find(\n (lsw) => lsw.log_source.id == logSource.id\n );\n if (existingLogSourceWrapper) {\n existingLogSourceWrapper.log_source.last_retrieved =\n logSource.last_retrieved;\n existingLogSourceWrapper.log_source.is_healthy = logSource.is_healthy;\n } else {\n this.logSourceWrappers.push({\n log_source: logSource,\n log_source_type: logSourceType,\n registration: registration,\n });\n }\n\n if (logSource.is_healthy === false) {\n if (logSourceType?.required_permissions?.includes('ActivityFeed'))\n isActivityFeedHealthy = false;\n if (logSourceType?.name === 'Microsoft Defender for Cloud Apps')\n isDefenderCloudAppsHealthy = false;\n if (logSourceType?.name === 'Microsoft 365 Defender')\n isDefenderHealthy = false;\n isAllHealthy = false;\n }\n }\n\n this.isAllHealthy = isAllHealthy;\n this.isActivityFeedHealthy = isActivityFeedHealthy;\n this.isDefenderHealthy = isDefenderHealthy;\n this.isDefenderCloudAppsHealthy = isDefenderCloudAppsHealthy;\n\n if (this.isAllHealthy) {\n this.success = this.translateService.instant('Dashboard.SuccessMessage');\n\n //Right now we are always polling for updates but if we ever want to stop when reaching a successful state uncomment below\n //clearInterval(this.interval);\n } else {\n this.success = '';\n }\n\n if (this.hasExpiredTrial) {\n this.success = '';\n this.error = this.translateService.instant(\n 'Dashboard.TrialExpiredMessage'\n );\n }\n }\n}\n","
    \n

    \n {{ \"Dashboard.Heading\" | translate }}\n

    \n 0\n \"\n >\n
    \n

    \n {{ \"Dashboard.SubHeading\" | translate }}\n

    \n
    \n
    \n
    \n \n \n \n {{ dataItem.Name }}\n \n \n \n \n {{ dataItem.Description }}\n \n \n \n \n {{ \"Dashboard.Logs\" | translate }} ({{\n \"Dashboard.LastRetrieved\" | translate\n }})\n \n \n
    \n \n \n
    \n \n check_circle\n \n \n change_circle\n \n {{ item?.log_source_type?.name }}\n
    \n {{\n item?.log_source?.last_retrieved | date : \"medium\"\n }}\n \n \n
    \n
    \n
    \n
    \n\n
    \n

    \n {{ \"Dashboard.UnhealthyMessage\" | translate }}\n {{ \"Dashboard.WaitMessage\" | translate }}\n

    \n \n

    \n {{ \"Dashboard.AdditionalSteps\" | translate }}\n

    \n \n
    \n
    \n {{ \"Dashboard.ProvideConsent\" | translate }}\n
    \n \n
    \n
    \n
    \n \n \n\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ReportDefinition } from 'src/app/models/report-definition';\nimport { ReportDefinitionService } from 'src/app/services/report-definition-service';\n\n@Component({\n selector: 'app-report-edit',\n templateUrl: './report-edit.component.html',\n styleUrls: ['./report-edit.component.scss']\n})\nexport class ReportEditComponent implements OnInit {\n isLoading: boolean = false;\n error: string = '';\n formGroup!: FormGroup;\n id: string = '';\n name: string = '';\n filename: string = '';\n fileBase64: string = '';\n definition!: ReportDefinition;\n\n constructor(private reportDefinitionService: ReportDefinitionService, private translateService: TranslateService, private formBuilder: FormBuilder, private route: ActivatedRoute, private router: Router) {\n this.createForm(); \n }\n\n async ngOnInit(): Promise {\n this.id = this.route.snapshot.paramMap.get('id')!;\n this.definition = await this.reportDefinitionService.fetch(this.id);\n\n this.formGroup.patchValue({\n name: this.definition.name \n });\n }\n\n async onSubmit(): Promise {\n try {\n if (this.formGroup.valid) {\n this.isLoading = true;\n this.error = '';\n \n await this.reportDefinitionService.edit(\n this.id,\n this.formGroup.value.name,\n this.filename,\n this.fileBase64,\n );\n\n await this.router.navigateByUrl(\n `/admin/reports`\n );\n \n } else {\n this.formGroup.markAllAsTouched();\n }\n } catch (err: any) {\n console.error(err);\n if (err instanceof HttpErrorResponse) {\n const httpError = err as HttpErrorResponse;\n switch (httpError.error) {\n default: {\n if (typeof httpError.error === 'string')\n this.error = httpError.error;\n else\n this.error = this.translateService.instant(\n 'Error.GenericServerError'\n );\n }\n }\n }\n } finally {\n this.isLoading = false;\n }\n }\n\n createForm() {\n this.formGroup = this.formBuilder.group({\n name: new FormControl(null, [Validators.required])\n });\n }\n\n onFileSelected(evt: any) {\n const file:File = evt.target.files[0];\n if (file) {\n const reader = new FileReader();\n reader.readAsBinaryString(file);\n reader.onload = (event) => {\n const base64 = btoa(event!.target!.result!.toString()) \n this.updateFile(file.name, base64);\n };\n }\n }\n \n private updateFile(filename: string, base64: string) {\n this.filename = filename;\n this.fileBase64 = base64;\n }\n\n\n}\n\n","
    \n

    {{ \"EditReport.Header\" | translate }}

    \n \n
    \n
    \n \n \n \n {{ \"UploadReport.NameRequired\" | translate }}\n
    \n
    \n
    \n\n
    \n
    \n \n\n \n\n
    \n
    \n\n
    \n \n \n Submit\n \n
    \n \n \n \n ","import {\n Component,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { GridComponent, GridDataResult } from '@progress/kendo-angular-grid';\nimport { State } from '@progress/kendo-data-query';\nimport { PageRequest } from 'src/app/models/entity-base';\nimport { KendoGridHelper } from 'src/app/services/kendo-grid-helper';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport {\n isExpired,\n RegistrationService,\n} from 'src/app/services/registration-service';\nimport { ReportDefinitionService } from 'src/app/services/report-definition-service';\n\n@Component({\n selector: 'app-report-management',\n templateUrl: './report-management.component.html',\n styleUrls: ['./report-management.component.scss']\n})\nexport class ReportManagementComponent implements OnInit {\n @ViewChild(GridComponent) grid!: GridComponent;\n @ViewChild('notificationAnchor', { read: ViewContainerRef, static: false })\n public notificationAnchor!: ViewContainerRef;\n kendoHelper!: KendoGridHelper;\n loadingData: boolean = true;\n searchQuery!: string;\n gridData!: GridDataResult;\n deleteConfirmationOpen = false;\n idToDelete: string = '';\n\n public gridState: any = {\n sort: [\n {\n field: 'create_time',\n dir: 'desc',\n },\n ],\n skip: 0,\n take: 10,\n };\n\n constructor(\n public registrationService: RegistrationService,\n private loadingService: LoadingService,\n private reportDefinitionService: ReportDefinitionService,\n private router: Router\n ) {\n this.kendoHelper = new KendoGridHelper();\n this.loadingService.show();\n }\n ngOnInit(): void {}\n\n async ngAfterViewInit(): Promise {\n await this.getData();\n this.loadingService.hide();\n }\n\n public async emitSearch(searchData: any) {\n this.searchQuery = searchData?.name;\n this.gridState.skip = 0;\n await this.getData();\n }\n \n async getData() {\n let sort = this.kendoHelper.getSortString(this.gridState?.sort);\n let request = new PageRequest();\n request.order_by = sort == '' ? 'createtime DESC' : sort;\n request.page_number = this.gridState.skip / this.gridState.take + 1;\n request.page_size = this.gridState.take;\n request.where = `(${\n this.kendoHelper.getFullFilterString(this.gridState?.filter) ?? '1=1'\n })`;\n\n try {\n this.loadingData = true;\n let response = await this.reportDefinitionService.search(request);\n\n this.gridData = {\n data: response.data,\n total: response.total_count,\n };\n } catch (err) {\n console.error(err);\n } finally {\n this.loadingData = false;\n }\n }\n\n public async onStateChange(state: State): Promise {\n this.gridState = state;\n await this.getData();\n }\n\n confirmDelete(reportDefinitionId: string) {\n this.deleteConfirmationOpen = true;\n this.idToDelete = reportDefinitionId; \n }\n\n cancelDelete() {\n this.deleteConfirmationOpen = false;\n }\n\n async delete() {\n this.loadingData = true;\n await this.reportDefinitionService.delete(this.idToDelete);\n await this.getData();\n this.idToDelete = '';\n this.loadingData = false;\n this.deleteConfirmationOpen = false;\n }\n\n async edit(reportDefinitionId: string) {\n await this.router.navigateByUrl(\n `/admin/reports/${reportDefinitionId}/edit`\n );\n }\n\n async view(reportDefinitionId: string) {\n await this.router.navigateByUrl(\n `/admin/reports/${reportDefinitionId}`\n );\n }\n \n async download(reportDefinitionId: string, filename: string) {\n this.reportDefinitionService.download(reportDefinitionId).subscribe(blob => {\n const url = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.download = filename;\n link.click();\n window.URL.revokeObjectURL(url);\n });\n }\n\n }\n","
    \n
    \n

    {{ \"ReportManagement.Heading\" | translate }}

    \n \n
    \n \n
    \n \n \n \n \n \n \n \n \n
    \n {{ dataItem.name }}\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n
    \n {{ dataItem.filename }}\n
    \n
    \n \n\n \n \n \n \n \n \n \n
    \n {{ dataItem.create_time | date: 'short' }}\n
    \n
    \n \n\n \n \n \n \n \n \n \n
    \n {{ dataItem.modify_time | date: 'short' }}\n
    \n
    \n \n\n \n \n
    \n \n play_arrow\n \n\n \n download\n \n\n \n edit\n \n\n \n delete\n \n
    \n
    \n \n \n
    \n
    \n \n \n

    \n {{ 'ReportManagement.DeleteWarning' | translate }}\n

    \n \n
    \n \n \n
    \n
    \n \n ","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ReportDefinitionService } from 'src/app/services/report-definition-service';\n\n@Component({\n selector: 'app-report-upload',\n templateUrl: './report-upload.component.html',\n styleUrls: ['./report-upload.component.scss']\n})\nexport class ReportUploadComponent {\n isLoading: boolean = false;\n error: string = '';\n formGroup!: FormGroup;\n name: string = '';\n filename: string = '';\n fileBase64: string = '';\n showFileValidationMessage = false;\n\n constructor(private reportDefinitionService: ReportDefinitionService, private translateService: TranslateService, private formBuilder: FormBuilder, private router: Router) {\n this.createForm(); \n }\n\n async onSubmit(): Promise {\n try {\n if (this.formGroup.valid) {\n this.isLoading = true;\n this.error = '';\n \n if (!this.fileBase64) {\n this.showFileValidationMessage = true;\n return;\n }\n\n await this.reportDefinitionService.add(\n this.formGroup.value.name,\n this.filename,\n this.fileBase64,\n );\n\n await this.router.navigateByUrl(\n `/admin/reports`\n );\n\n } else {\n this.formGroup.markAllAsTouched();\n }\n } catch (err: any) {\n console.error(err);\n if (err instanceof HttpErrorResponse) {\n const httpError = err as HttpErrorResponse;\n switch (httpError.error) {\n default: {\n if (typeof httpError.error === 'string')\n this.error = httpError.error;\n else\n this.error = this.translateService.instant(\n 'Error.GenericServerError'\n );\n }\n }\n }\n } finally {\n this.isLoading = false;\n }\n }\n\n createForm() {\n this.formGroup = this.formBuilder.group({\n name: new FormControl(null, [Validators.required])\n });\n }\n\n onFileSelected(evt: any) {\n const file:File = evt.target.files[0];\n if (file) {\n const reader = new FileReader();\n reader.readAsBinaryString(file);\n reader.onload = (event) => {\n const base64 = btoa(event!.target!.result!.toString()) \n this.updateFile(file.name, base64);\n };\n this.showFileValidationMessage = false;\n }\n }\n \n private updateFile(filename: string, base64: string) {\n this.filename = filename;\n this.fileBase64 = base64;\n }\n\n\n}\n\n","
    \n

    {{ \"UploadReport.Header\" | translate }}

    \n \n
    \n
    \n \n \n \n {{ \"UploadReport.NameRequired\" | translate }}\n
    \n
    \n
    \n\n
    \n
    \n \n\n \n\n
    \n \n {{ \"UploadReport.FileRequired\" | translate }}\n \n
    \n\n
    \n
    \n\n
    \n \n \n Submit\n \n
    \n \n \n \n ","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Responder365AppConfig } from 'src/app/services/app-config-service';\n\n@Component({\n selector: 'app-report-view',\n templateUrl: './report-view.component.html',\n styleUrls: ['./report-view.component.scss']\n})\nexport class ReportViewComponent implements OnInit {\n\n public reportSource: object = {};\n public reportServiceUrl: string = '';\n\n constructor(private route: ActivatedRoute, private config: Responder365AppConfig) { \n }\n\n viewerContainerStyle = {\n position: 'relative',\n width: '100%',\n height: '100%',\n ['font-family']: 'Open Sans'\n };\n\n ngOnInit() {\n this.reportServiceUrl = this.config.apiUrl + '/api/telerik-report';\n \n const id = this.route.snapshot.paramMap.get('id');\n this.reportSource = {\n report: id,\n parameters: {}\n };\n }\n\n}\n","\n","import {\n Component,\n NgZone,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { GridComponent, GridDataResult } from '@progress/kendo-angular-grid';\nimport { NotificationService } from '@progress/kendo-angular-notification';\nimport { State } from '@progress/kendo-data-query';\nimport { PageRequest } from 'src/app/models/entity-base';\nimport { RoleIds } from 'src/app/models/roles';\nimport { KendoGridHelper } from 'src/app/services/kendo-grid-helper';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport {\n isExpired,\n RegistrationService,\n} from 'src/app/services/registration-service';\n\n@Component({\n selector: 'app-search-admin-registration',\n templateUrl: './search-admin-registration.component.html',\n styleUrls: ['./search-admin-registration.component.scss'],\n})\nexport class SearchAdminRegistrationComponent implements OnInit {\n @ViewChild(GridComponent) grid!: GridComponent;\n @ViewChild('notificationAnchor', { read: ViewContainerRef, static: false })\n public notificationAnchor!: ViewContainerRef;\n kendoHelper!: KendoGridHelper;\n loadingData: boolean = true;\n searchQuery!: string;\n timeout: any;\n gridData!: GridDataResult;\n isExpired = isExpired;\n confirmationOpen = false;\n\n public gridState: any = {\n sort: [\n {\n field: 'create_time',\n dir: 'desc',\n },\n ],\n skip: 0,\n take: 10,\n };\n\n idToDelete: string = '';\n constructor(\n public registrationService: RegistrationService,\n private loadingService: LoadingService,\n private notificationService: NotificationService\n ) {\n this.kendoHelper = new KendoGridHelper();\n this.loadingService.show();\n }\n ngOnInit(): void {}\n\n async ngAfterViewInit(): Promise {\n await this.getData();\n this.loadingService.hide();\n }\n\n public async emitSearch(searchData: any) {\n this.searchQuery = searchData?.name;\n this.gridState.skip = 0;\n await this.getData();\n }\n\n async getData() {\n let sort = this.kendoHelper.getSortString(this.gridState?.sort);\n let request = new PageRequest();\n request.order_by = sort == '' ? 'createtime DESC' : sort;\n request.page_number = this.gridState.skip / this.gridState.take + 1;\n request.page_size = this.gridState.take;\n request.where = `(${\n this.kendoHelper.getFullFilterString(this.gridState?.filter) ?? '1=1'\n }) AND RoleId=${RoleIds.Admin}`;\n\n try {\n this.loadingData = true;\n let response = await this.registrationService.adminSearch(request);\n this.gridData = {\n data: response.data,\n total: response.total_count,\n };\n } catch (err) {\n console.error(err);\n } finally {\n this.loadingData = false;\n }\n }\n\n public async onStateChange(state: State): Promise {\n this.gridState = state;\n await this.getData();\n }\n\n async resend(id: string) {\n this.loadingData = true;\n await this.registrationService.resend(id);\n this.notificationService.show({\n appendTo: this.notificationAnchor,\n content: 'Registration re-sent successfully!',\n animation: { type: 'fade', duration: 400 },\n position: { horizontal: 'right', vertical: 'bottom' },\n type: { style: 'success', icon: true },\n });\n await this.getData();\n this.loadingData = false;\n }\n\n public async delete() {\n this.loadingData = true;\n await this.registrationService.delete(this.idToDelete);\n await this.getData();\n this.idToDelete = '';\n this.loadingData = false;\n this.confirmationOpen = false;\n }\n\n async confirm(id: string) {\n this.confirmationOpen = true;\n this.idToDelete = id;\n }\n\n cancel() {\n this.idToDelete = '';\n this.confirmationOpen = false;\n }\n}\n","
    \n
    \n

    {{ \"SearchAdministrators.Heading\" | translate }}

    \n \n
    \n \n
    \n \n \n \n \n \n \n \n \n
    \n {{ dataItem.email }}\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n {{ dataItem.create_time | date : \"medium\" }}\n \n \n \n \n \n \n \n \n \n \n \n {{ dataItem.expiration | date : \"medium\" }}\n \n \n \n \n \n check_circle\n \n \n error\n \n \n mark_email_read\n \n \n \n \n \n
    \n \n send\n \n \n delete\n \n
    \n
    \n \n \n
    \n
    \n \n \n

    \n {{ 'SearchAdministrators.DeleteWarning' | translate }}\n

    \n \n
    \n \n \n
    \n
    \n \n ","import {\n Component,\n NgZone,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { GridComponent, GridDataResult } from '@progress/kendo-angular-grid';\nimport { NotificationService } from '@progress/kendo-angular-notification';\nimport { State } from '@progress/kendo-data-query';\nimport { PageRequest } from 'src/app/models/entity-base';\nimport { RoleIds } from 'src/app/models/roles';\nimport { KendoGridHelper } from 'src/app/services/kendo-grid-helper';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport {\n isExpired,\n RegistrationService,\n} from 'src/app/services/registration-service';\n\n@Component({\n selector: 'app-search-registration',\n templateUrl: './search-registration.component.html',\n styleUrls: ['./search-registration.component.scss'],\n})\nexport class SearchRegistrationComponent implements OnInit {\n @ViewChild(GridComponent) grid!: GridComponent;\n @ViewChild('notificationAnchor', { read: ViewContainerRef, static: false })\n public notificationAnchor!: ViewContainerRef;\n kendoHelper!: KendoGridHelper;\n loadingData: boolean = true;\n searchQuery!: string;\n timeout: any;\n gridData!: GridDataResult;\n isExpired = isExpired;\n deleteConfirmationOpen = false;\n resendConfirmationOpen = false;\n currentDate = new Date();\n\n public gridState: any = {\n sort: [\n {\n field: 'create_time',\n dir: 'desc',\n },\n ],\n skip: 0,\n take: 10,\n };\n idToDelete: string = '';\n idToResend: string = '';\n constructor(\n public registrationService: RegistrationService,\n private loadingService: LoadingService,\n private notificationService: NotificationService\n ) {\n this.kendoHelper = new KendoGridHelper();\n this.loadingService.show();\n }\n ngOnInit(): void {}\n\n async ngAfterViewInit(): Promise {\n await this.getData();\n this.loadingService.hide();\n }\n\n public async emitSearch(searchData: any) {\n this.searchQuery = searchData?.name;\n this.gridState.skip = 0;\n await this.getData();\n }\n\n async getData() {\n let sort = this.kendoHelper.getSortString(this.gridState?.sort);\n let request = new PageRequest();\n request.order_by = sort == '' ? 'createtime DESC' : sort;\n request.page_number = this.gridState.skip / this.gridState.take + 1;\n request.page_size = this.gridState.take;\n request.where = `(${\n this.kendoHelper.getFullFilterString(this.gridState?.filter) ?? '1=1'\n }) AND RoleId=${RoleIds.Member}`;\n\n try {\n this.loadingData = true;\n let response = await this.registrationService.adminSearch(request);\n this.gridData = {\n data: response.data,\n total: response.total_count,\n };\n } catch (err) {\n console.error(err);\n } finally {\n this.loadingData = false;\n }\n }\n\n public async onStateChange(state: State): Promise {\n this.gridState = state;\n await this.getData();\n }\n\n async resend() {\n this.loadingData = true;\n await this.registrationService.resend(this.idToResend);\n this.notificationService.show({\n appendTo: this.notificationAnchor,\n content: 'Registration re-sent successfully!',\n animation: { type: 'fade', duration: 400 },\n position: { horizontal: 'right', vertical: 'bottom' },\n type: { style: 'success', icon: true },\n });\n await this.getData();\n this.loadingData = false;\n this.resendConfirmationOpen = false;\n }\n\n async confirmResend(id: string) {\n this.resendConfirmationOpen = true;\n this.idToResend = id;\n }\n\n public async delete() {\n this.loadingData = true;\n await this.registrationService.delete(this.idToDelete);\n await this.getData();\n this.idToDelete = '';\n this.loadingData = false;\n this.deleteConfirmationOpen = false;\n }\n\n async confirmDelete(id: string) {\n this.deleteConfirmationOpen = true;\n this.idToDelete = id;\n }\n\n cancel() {\n this.idToDelete = '';\n this.idToResend = '';\n this.deleteConfirmationOpen = false;\n this.resendConfirmationOpen = false;\n }\n\n daysBetween(endDate: Date) {\n const ONE_DAY = 1000 * 60 * 60 * 24;\n return Math.round(\n Math.abs((new Date().getTime() - new Date(endDate).getTime()) / ONE_DAY)\n );\n }\n}\n","
    \n
    \n

    {{ \"SearchRegistration.Heading\" | translate }}

    \n \n
    \n\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ dataItem.tenant.company }}\n \n \n \n \n \n hourglass_top\n \n 0\n \"\n [title]=\"\n 'Trial active, ending in ' +\n daysBetween(dataItem.trial_expiration) +\n ' days'\n \"\n >\n hourglass_top\n \n \n hourglass_top\n \n 0\n \"\n [title]=\"\n 'Trial ended ' +\n daysBetween(dataItem.trial_expiration) +\n ' days ago'\n \"\n >\n hourglass_bottom\n \n \n hourglass_bottom\n \n \n \n \n \n \n \n \n \n \n \n \n {{ dataItem.create_time | date : \"medium\" }}\n \n \n \n \n \n \n \n \n \n \n \n {{ dataItem.expiration | date : \"medium\" }}\n \n \n \n \n \n check_circle\n \n \n error\n \n \n mark_email_read\n \n \n \n \n \n
    \n \n send\n \n \n delete\n \n
    \n
    \n \n \n
    \n
    \n\n\n

    \n {{ \"SearchRegistration.DeleteWarning\" | translate }}\n

    \n \n
    \n \n \n
    \n
    \n\n\n\n

    \n {{ \"SearchRegistration.ResendWarning\" | translate }}\n

    \n \n
    \n \n \n
    \n
    \n\n","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Roles } from 'src/app/models/roles';\nimport { Responder365AppConfig } from 'src/app/services/app-config-service';\nimport { SessionService } from 'src/app/services/session-service';\n\n@Component({\n selector: 'app-side-bar',\n templateUrl: './side-bar.component.html',\n styleUrls: ['./side-bar.component.scss'],\n})\nexport class SideBarComponent implements OnInit {\n isAdmin: boolean | undefined;\n isMember: boolean | undefined;\n hangfireUrl!: any;\n constructor(\n private config: Responder365AppConfig,\n private sanitizer: DomSanitizer,\n private sessionService: SessionService\n ) {}\n\n ngOnInit(): void {\n this.sessionService.sessionObservable$.subscribe((s) => {\n this.isAdmin = s?.roles?.some((r) => r === Roles.Admin);\n this.isMember = s?.roles?.some((r) => r === Roles.Member);\n });\n\n const url = this.config.apiUrl + '/hangfire';\n this.hangfireUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n}\n","\n","
    \n
    \n {{ success }}\n
    \n
    \n
    \n
    \n {{ error }}\n
    \n
    \n
    \n {{ \"General.Loading\" | translate }}\n
    \n
    \n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-status',\n templateUrl: './status.component.html',\n styleUrls: ['./status.component.scss'],\n})\nexport class StatusComponent implements OnInit {\n @Input() success = '';\n @Input() error = '';\n @Input() isLoading: boolean | null = false;\n constructor() {}\n\n ngOnInit(): void {}\n\n get isError() {\n return !this.isLoading && !!this.error;\n }\n get isSuccess() {\n return !this.isLoading && !!this.success && !this.isError;\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-terms-of-use',\n templateUrl: './terms-of-use.component.html',\n styleUrls: ['./terms-of-use.component.scss']\n})\nexport class TermsOfUseComponent {\n\n}\n","
    \n
    \n
    \n

    PORTAL TERMS OF USE

    \n

    Last Updated: June 1, 2023

    \n

    \n PLEASE READ THESE PORTAL TERMS OF USE CAREFULLY\n

    \n

    \n These Portal Terms of Use together with its Exhibits and such documents\n incorporated herein (“Terms”) between the End User (“End User”,\n “You” or “Your”) and\n Kroll Information Assurance, LLC. and its applicable\n affiliates (“Kroll” “We,”\n “Our” or “Us”) regarding the End\n User’s access to and use of the services provided by Kroll\n (“Services”) in the Kroll Responder for Office 365\n portal (“Portal”).  All End Users must agree to\n these Terms before using the Portal and Services.\n

    \n

    \n If you are an individual agreeing to these Terms, you agree that these\n Terms apply to you as an End User; additionally, if you are agreeing to\n these Terms on behalf of a company, organization, other legal entity or\n legal person, you represent that you have the authority to bind that\n entity and its affiliates, related entities, and its respective\n employees, agents, delegates, representatives and any other individuals\n that access and use the Portal and receive the Services (“Authorized End Users”), to these Terms. If you do not agree with the Terms or if you do not\n have such authority, Authorized End Users will not be permitted to\n access, receive, and use the Portal and Services.\n

    \n

    1.    WHO WE ARE AND WHAT THIS DOCUMENT DOES

    \n

    \n We are Kroll Information Assurance, LLC (“Kroll,” “we,” “us”), of 55 E.\n 52nd Street, 17th floor, New York, NY 10055, and\n hereby license you to use:\n

    \n
      \n
    • \n Kroll’s Responder for Office 365 portal software (“Portal”) and any\n updates or supplements to it.\n
    • \n
    • \n Related online or electronic documentation found in the Portal\n (“Documentation”)\n
    • \n
    • \n The service we provide to you or your customers through the Portal\n (“Service”)\n
    • \n
    \n

    \n as permitted by these Terms which form a legally binding contract\n between you and Kroll. Together each of the items bullet pointed above\n are collectively referred to within these Terms and conditions as the\n “Platform”.\n

    \n

    2.    YOUR PRIVACY

    \n

    \n We only use any personal data we collect through your use of the\n Platform in the ways set out in our Privacy Policy. Please be aware that Platform transmissions cannot be guaranteed to\n be completely private or secure and that any message or information you\n enter or send using the Platform may be read or intercepted by others,\n even if there is a special notice that a particular transmission is\n encrypted.  To the extent required and pursuant to applicable law,\n Authorized End Users consent to the collection and use of their personal\n data in connection with and to the extent necessary to perform the\n Services as contemplated hereunder.\n

    \n

    Contacting Kroll (including complaints)

    \n

    \n If you have a problem or question with our service, or wish to contact\n us for any other reason, please notify us using our Contact Us page.\n

    \n

    3.    HOW YOU MAY USE THE PLATFORM

    \n

    In return for your agreeing to comply with these Terms you may:

    \n
      \n
    • \n use the Platform in accordance with your Portal End User Agreement\n only and view, use and display the Platform in accordance with your\n Portal End User Agreement only;\n
    • \n
    • \n use any Documentation within the Platform to support your permitted\n use of the Platform\n
    • \n
    \n

    \n If you do not agree to these Terms you must not use our Platform and\n must contact us immediately on the details given for us above. We\n recommend that you save a copy of these Terms for future reference.\n

    \n

    4.    YOU FURTHER AGREE:

    \n
      \n
    • \n that you have obtained, will obtain and are solely responsible for\n obtaining all required rights and authorizations to access, view\n and/or edit the data provided to you or by you via the Portal;

      \n
    • \n
    • \n that all information and data provided to you or by you via the Portal\n is reasonably accurate information and data, and that your use and\n provision of such information and data is limited to updating or\n modifying records for notification to affected individuals; and

      \n
    • \n
    • \n that you will promptly notify Kroll if you access accidentally,\n inadvertently, or otherwise, another user’s information or data, and\n will immediately cease and desist any and all access to such\n information or data. If your inadvertent access included downloading\n or copying, you will immediately delete and/or destroy such downloads\n and/or copies and shall certify such deletion or destruction to Kroll\n upon request.\n
    • \n
    \n

    \n 5.       THERE ARE OTHER TERMS THAT MAY\n APPLY TO YOU\n

    \n

    \n These Terms refer to the following additional terms which also apply to\n you use of our Portal:\n

    \n
    \n

    \n 6.       YOU MUST BE 18 TO ACCEPT THESE\n TERMS AND USE THE PLATFORM\n

    \n

    \n You must be 18 or over to accept these Terms and be able to use the\n Platform.\n

    \n

    \n 7.       YOU MUST NOT TRANSFER YOUR RIGHT\n TO USE THE PLATFORM OR YOUR PLATFORM LOGIN DETAILS TO SOMEONE ELSE\n

    \n

    We are giving you personally the right to use the Platform.

    \n

    \n You must not transfer your Platform details or Service to someone else,\n whether for money, for anything else or for free. If you sell any device\n on which the Platform is used, you must remove memory of anything of or\n from the Platform from the device prior to the sale. You are responsible\n for ensuring that all persons who access our Platform through your\n internet connection or device or using your account details, including\n your Authorized End Users, are aware of these Terms and other applicable\n documents referred to and that they comply with them.\n

    \n

    \n We do not guarantee that our Platform or any content on it will always\n be available or be uninterrupted. We may suspend or withdraw or restrict\n the availability of all or any part of our Platform for business and\n operational reasons.\n

    \n

    \n 8.       OUR PLATFORM IS FOR USERS IN THE\n UNITED STATES\n

    \n

    \n Our Platform is directed to people residing in the United States. We do\n not represent that content available on or through our Platform are\n appropriate for use or available in other locations.\n

    \n

    \n 9.       YOU MUST KEEP YOUR ACCOUNT\n DETAILS SAFE\n

    \n

    \n If you choose, or are provided with, a user identification code or\n password or any other piece of information as part of our security\n procedures you must treat such information as confidential. You must not\n disclose it to any third party.\n

    \n

    \n We have the right to disable any user identification code or password\n whether chosen by you or allocated by us at any time if in our\n reasonable opinion you have failed to comply with any of the provisions\n of these Terms.\n

    \n

    \n If you know or suspect that anyone other than you knows your user\n identification code or password you must promptly notify Kroll using our\n Contact Us page.\n

    \n

    10.     CHANGES TO THESE TERMS

    \n

    \n We may need to change these Terms to reflect changes in law or best\n practice or to deal with additional features which we introduce.\n

    \n

    \n If you do not accept the changes you may not continue to use the\n Platform.\n

    \n

    \n 11.     UPDATE TO THE PORTAL AND CHANGES TO THE\n SERVICE\n

    \n

    \n From time to time we may automatically update the Platform and change it\n to improve performance, enhance functionality, reflect changes to the\n operating system or address security issues.\n

    \n

    \n 12.     IF SOMEONE ELSE OWNS THE DEVICE YOU ARE\n USING\n

    \n

    \n If you use the Platform on any phone or other device not owned by you,\n you must have the owner’s permission to do so. You are responsible for\n complying with these Terms, whether or not you own the phone or other\n device.\n

    \n

    13.     HOW WE MAY USE YOUR PERSONAL DATA

    \n

    \n We will only use your personal data as set out in our Privacy Policy.\n

    \n

    \n 14.     WE MAY COLLECT TECHNICAL DATA ABOUT YOUR\n DEVICE\n

    \n

    \n By using the Platform, you agree to us collecting and using technical\n information about the devices you use and related software, hardware,\n and peripherals to improve our products and to provide the Services to\n you or your customers.\n

    \n

    \n 15.     WE MAY COLLECT LOCATION DATA (BUT YOU CAN\n TURN LOCATION SERVICES OFF)\n

    \n

    \n We may from time to time make use of location data sent from your\n devices. You can turn off this functionality at any time by turning off\n the location services settings on the device. If you leave on the\n location services you consent to us and our affiliates’ and licensees’\n transmission, collection, retention, maintenance, processing and use of\n your location data and queries to provide and improve the Platform.\n

    \n

    \n 16.     WE ARE NOT RESPONSIBLE FOR OTHER WEBSITES\n YOU LINK TO\n

    \n

    \n The Platform may contain links to other independent websites which are\n not provided by us. Such independent sites are not under our control and\n we are not responsible for and have not checked or approved their\n content or their privacy policies (if any).\n

    \n

    \n You will need to make your own independent judgement about whether to\n use any such independent sites, including whether to buy or enter into\n any products or services offered by them.\n

    \n

    17.     LICENSE RESTRICTIONS

    \n

    You agree that you will:

    \n
      \n
    • \n not rent, lease, sub-license, loan, provide, or otherwise make\n available the Platform in any form, in whole or in part to any person\n without prior written consent from us;

      \n
    • \n
    • \n not make a copy of the Platform, except as part of the normal use of\n the Platform or where it is necessary for the purpose of back-up or\n operational security;

      \n
    • \n
    • \n not translate, merge, adapt, vary, alter or modify, the whole or any\n part of the Platform nor permit the Platform or any part of them to be\n combined with, or become incorporated in, any other programs, except\n as necessary to use the Platform as permitted in these Terms;

      \n
    • \n
    • \n not disassemble, de-compile, reverse engineer or create derivative\n works based on the whole or any part of the Platform nor attempt to do\n any such things;

      \n
    • \n
    • \n comply with all applicable technology control or export laws and\n regulations that apply to the technology used or are supported by the\n Platform.

      \n
    • \n
    \n

    18.     ACCEPTABLE USE RESTRICTIONS

    \n

    You must:

    \n
      \n
    • \n not use the Platform in any unlawful manner, for any unlawful purpose,\n or in any manner inconsistent with these Terms, or act fraudulently or\n maliciously, for example, by hacking into or inserting malicious code,\n such as viruses, or harmful data, into the Platform or any operating\n system;

      \n
    • \n
    • \n not infringe our proprietary or intellectual property rights or those\n of any third party in relation to you or your customers’ use of the\n Platform;

      \n
    • \n
    • \n not transmit any material that is defamatory, offensive or otherwise\n objectionable in relation to you or your customers’ use of the\n Platform;

      \n
    • \n
    • \n not use any information or results provided by the Platform to harass,\n intimidate, or to impersonate others;

      \n
    • \n
    • \n not use the Platform in a way that could damage, disable, overburden,\n impair or compromise our systems or security or interfere with other\n users;

      \n
    • \n
    • \n not collect or harvest any information or data from the Platform or\n our systems or attempt to decipher any transmissions to or from the\n servers running the Platform, and

      \n
    • \n
    • \n not use the Platform for competitive research or analysis of the\n Platform, or the development of a competing product or service or in\n any way that would be a commercial disadvantage to us.\n
    • \n
    \n

    19.     INTELLECTUAL PROPERTY RIGHTS

    \n

    \n 19.1    Intellectual Property Ownership. End User\n acknowledges and agrees that: (a) Kroll is the sole and exclusive owner\n of all right, title and interest in and to the Platform, including all\n intellectual property rights relating thereto, subject only to the\n rights of third parties in Third-Party Materials and the limited license\n granted to the End User under these Terms. The Platform is licensed, not\n sold, to the End User by Kroll and the End User does not have and will\n not acquire under or in connection with these Terms, any ownership\n interest in the Platform, or in any related intellectual property\n rights; and (b) if and to the extent an End User acquires any right,\n title or interest, including any intellectual property rights, in or to\n the Platform (including any rights in improvements of or to either of\n them), now or hereafter, by operation of law or otherwise, End User\n hereby unconditionally and irrevocably assigns to Kroll or Kroll’s\n designee, its entire right, title and interest in and to any and all\n such rights.\n

    \n

    \n 19.2    End User’s Rights and Obligations.  End User\n further acknowledges and agrees that: (a) End User may print off one\n copy, and may download extracts, of any page(s) from our Platform for\n your internal business use, provided however, if you print off, copy or\n download any part of our Platform in breach of these Terms, your right\n to use our Platform will cease immediately and you must, at our option,\n return or destroy any copies of the materials you have made, (b) End\n User will not modify the paper or digital copies of any materials it has\n printed off or downloaded in any way and will not use any illustrations,\n photographs, video or audio sequences or any graphics separately from\n any accompanying text, (c) Kroll’s status (and that of any identified\n contributors) as the authors of content on our Platform will always be\n acknowledged, (d) End User will not use any part of the content on\n Kroll’s Platform for commercial purposes (other than as permitted via a\n services agreement) without obtaining a license or other consent to do\n so from Kroll, and (e) the trademarks expressly listed as such in this\n Portal and all other marks on the Portal are trademarks of Kroll and/or\n its affiliates. You may not use, copy, reproduce, republish, upload,\n post, transmit, distribute or modify these marks in any way without\n Kroll's prior written permission. The use of Kroll’s trademarks on any\n other website without Kroll’s prior written permission is prohibited.\n

    \n

    \n 19.3    End User Cooperation and Notice of Infringement.\n The End User will, during the Term: (a) take commercially reasonable\n measures to safeguard the Platform (including all copies thereof) from\n infringement, misappropriation, theft, misuse or unauthorized access;\n (b) at Kroll’s expense, take all such steps as Kroll may reasonably\n require to assist Kroll in maintaining the validity, enforceability and\n Kroll’s ownership of the intellectual property rights in the Platform;\n (c) promptly notify Kroll in writing if End User becomes aware of: (i)\n any actual or suspected infringement, misappropriation or other\n violation of Kroll’s intellectual property rights in or relating to the\n Platform; or (ii) any claim that the Platform, including any production,\n use, marketing, sale or other disposition of the Platform, in whole or\n in part, infringes, misappropriates or otherwise violates the\n intellectual property rights or other rights of any person; and (d)\n cooperate with and assist Kroll as reasonably requested in the conduct\n of any action by Kroll to prevent or abate any actual or threatened\n infringement, misappropriation or violation of Kroll’s rights in, and to\n attempt to resolve any actions relating to, the Platform.\n

    \n

    \n 19.4    No Implied Rights. Except for the limited rights\n and licenses expressly granted under these Terms, nothing in these Terms\n grants, by implication, waiver, estoppel or otherwise, to the End User\n or any third party any intellectual property rights or other right,\n title, or interest in or to any of the Platform.\n

    \n

    20.      INDEMNIFICATION.

    \n

    \n End User Indemnification. End User will indemnify, defend, and hold\n harmless Kroll and its Affiliates, and each of its and their respective\n officers, directors and employees from and against all claims, damages\n and costs (including reasonable attorneys’ fees and disbursements)\n arising out of (a) a breach of these Terms by End User or any of its\n Authorized End Users (b) any violation of or use of information not\n permitted by applicable privacy laws, or (c) relating to negligence,\n gross negligence, abuse, misapplication, misuse or recklessness or\n willful misconduct by or on behalf of the End User or any of its\n Authorized End Users with respect to the Platform or otherwise in\n connection with these Terms.\n

    \n

    \n 21.     OUR RESPONSIBILITY FOR LOSS OR DAMAGE SUFFERED BY\n YOU\n

    \n

    \n We are not liable for business losses. The\n Platform is provided solely for purposes described above.  Any\n additional use is prohibited. If you use the Platform for any\n commercial, business or resale purposes you will be in breach of these\n Terms. We will have no liability to you under or in connection with\n these Terms, or its subject matter under any legal or equitable theory,\n including breach of contract, tort (including negligence), strict\n liability, and otherwise, for any (a) increased costs, diminution in\n value or lost business, business interruption or loss of business\n opportunity, production, revenues or profits, (b) loss of goodwill or\n reputation, (c) use, inability to use, loss, interruption, delay or\n recovery of any licensed software or open source components or other\n third-party materials, (d) loss, damage, corruption, or recovery of\n data, or breach of data or system security, (e) cost of replacement\n goods or services, or (f) consequential, incidental, indirect,\n exemplary, special, enhanced, or punitive damages, in each case\n regardless of whether such persons were advised of the possibility of\n such losses or damages or such losses or damages were otherwise\n foreseeable, and notwithstanding the failure of any agreed or other\n remedy of its essential purpose. the End User will have the sole\n responsibility for protecting its data, by periodic backup or otherwise,\n used in connection with the services.\n

    \n

    \n We take no responsibility for your or your Authorized Users’ use of the\n Platform that results in you or your Authorized Users breaching the\n terms and conditions of any agreement you or an Authorized End User has\n with any other person or entity.\n

    \n

    Limitations to the Platform

    \n

    \n The Platform is provided for general information only. It does not offer\n any advice on which you should rely. You must obtain professional or\n specialist advice before taking, or refraining from taking, any action\n on the basis of information obtained from the Platform. Although we make\n reasonable efforts to update the information provided by the Platform,\n we make no representations, warranties or guarantees, whether express or\n implied, that such information is accurate, complete or up to date.\n

    \n

    Check that the Platform is suitable for you. 

    \n

    \n The Platform has not been developed to meet your individual\n requirements. Please check that the facilities and functions of the\n Platform meet your requirements.\n

    \n

    \n We are not responsible for events outside our control. \n

    \n

    \n If our provision of the Platform is delayed by an event outside our\n control then we will contact you as soon as possible to let you know and\n we will take steps to minimize the effect of the delay so far as we are\n able to do so. Provided we do this we will not be liable for delays\n caused by the event or any third-party network provider or otherwise.\n

    \n

    \n 22.     WE MAY END YOUR RIGHTS TO USE THE PLATFORM\n IF YOU BREACH THESE TERMS\n

    \n

    \n We may end your rights to use the Platform at any time by contacting you\n if you or an Authorized User have breached these Terms. This may also\n impact the Service we have already provided to you and we may seek to\n terminate the Service as a result of your breach of these Terms. If the\n breach can be cured we will give you a reasonable opportunity to do so.\n

    \n

    If we end your rights to use the Platform or any part of it:

    \n
      \n
    • \n You must stop all activities authorized by these Terms including your\n use of the Platform;\n
    • \n
    • \n You must delete the Platform from all devices in your possession and\n confirm to us that you have done this.\n
    • \n
    • \n We may remotely block or remove your access to the Platform and cease\n providing you with the Services.\n
    • \n
    \n

    23.     WE MAY TRANSFER THIS AGREEMENT

    \n

    \n We may transfer our rights and obligations under these Terms to another\n organization. If this happens we will take reasonable measures to ensure\n that the transfer will not affect your rights under these Terms.\n

    \n

    \n 24.     YOU NEED OUR CONSENT TO TRANSFER YOUR RIGHTS\n

    \n

    \n You may only transfer your rights or your obligations under these Terms\n to another person upon Kroll’s prior written consent.\n

    \n

    25.     NO RIGHTS FOR THIRD PARTIES

    \n

    \n These Terms do not give rise to any rights for third parties or other\n third-party beneficiaries.\n

    \n

    \n 26.     IF A COURT FINDS PART OF THIS CONTRACT\n ILLEGAL, THE REST WILL CONTINUE IN FORCE\n

    \n

    \n Each of the paragraphs of these Terms operates separately. If any court\n or relevant authority decides that any of them are unlawful, the\n remaining paragraphs will remain in full force and effect.\n

    \n

    \n 27.     EVEN IF WE DELAY IN ENFORCING THIS CONTRACT,\n WE CAN STILL ENFORCE IT LATER\n

    \n

    \n Even if we delay in enforcing this contract, we can still enforce it\n later. If we do not insist immediately that you do anything you are\n required to do under these Terms, or if we delay in taking steps against\n you in respect of your breaching this contract, that will not mean that\n you do not have to do those things and it will not prevent us taking\n steps against you at a later date.\n

    \n

    \n 28.     WHICH LAWS APPLY TO THIS CONTRACT AND WHERE\n YOU MAY BRING LEGAL PROCEEDINGS\n

    \n

    \n These Terms are governed by New York State law and legal proceedings are\n to be brought in New York state courts.\n

    \n

    \n If you have any questions or comments about these Terms, please\n Contact Us.\n

    \n

     

    \n

     

    \n

     

    \n
    \n
    \n
    \n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NotificationService } from '@progress/kendo-angular-notification';\nimport { lastValueFrom } from 'rxjs';\nimport { ContactType } from 'src/app/models/contact-type';\nimport { EscalationContact } from 'src/app/models/escalation-contact';\nimport { EscalationDetail } from 'src/app/models/escalation-detail';\nimport { LogSource, LogSourceWrapper } from 'src/app/models/log-source';\nimport { AdminRegistrationResponse } from 'src/app/models/registration';\nimport { SupportType } from 'src/app/models/support-type';\nimport { Tenant } from 'src/app/models/tenant';\nimport { ContactTypeService } from 'src/app/services/contact-type-service';\nimport { EscalationContactService } from 'src/app/services/escalation-contact-service';\nimport { EscalationDetailService } from 'src/app/services/escalation-detail-service';\nimport { LoadingService } from 'src/app/services/loading-service';\nimport { LogSourceService } from 'src/app/services/log-source-service';\nimport { LogSourceTypeService } from 'src/app/services/log-source-type-service';\nimport {\n isExpired,\n RegistrationService,\n} from 'src/app/services/registration-service';\nimport { SupportTypeService } from 'src/app/services/support-type-service';\nimport { TenantService } from 'src/app/services/tenant-service';\n\n@Component({\n selector: 'app-view-registration',\n templateUrl: './view-registration.component.html',\n styleUrls: ['./view-registration.component.scss'],\n})\nexport class ViewRegistrationComponent implements OnInit {\n error = '';\n success = '';\n registration!: AdminRegistrationResponse;\n logSourceWrappers: LogSourceWrapper[] = [];\n isExpired = isExpired;\n escalationContacts: EscalationContact[] = [];\n escalationDetail: EscalationDetail | undefined = {};\n contactTypes: ContactType[] = [];\n supportTypes: SupportType[] = [];\n trialOptions = [\n { text: '7 days', value: 7 },\n { text: '30 days', value: 30 },\n ];\n selectedTrialOption = this.trialOptions[0];\n\n constructor(\n private route: ActivatedRoute,\n private registrationService: RegistrationService,\n private logTypeService: LogSourceTypeService,\n private translateService: TranslateService,\n public loadingService: LoadingService,\n private escalationDetailService: EscalationDetailService,\n private escalationContactService: EscalationContactService,\n private supportTypeService: SupportTypeService,\n private contactTypeService: ContactTypeService,\n private logSourceService: LogSourceService,\n private notificationService: NotificationService\n ) {}\n\n async ngOnInit(): Promise {\n try {\n this.loadingService.show();\n const id = this.route.snapshot.paramMap.get('id');\n if (id) {\n const registration = await this.registrationService.adminFetch(id);\n const [logSourceTypes, escalationDetails] = await Promise.all([\n this.logTypeService.fetchMultiple(\n registration.log_sources.map((ls) => ls.log_source_type_id)\n ),\n this.escalationDetailService.listForProperty(\n 'tenant',\n registration.tenant_id\n ),\n ]);\n\n if (registration.is_complete) {\n this.escalationDetail =\n escalationDetails[escalationDetails.length - 1];\n if (this.escalationDetail) {\n this.escalationContacts =\n await this.escalationContactService.listForProperty(\n 'escalation-detail',\n this.escalationDetail.id\n );\n const [supportTypes, contactTypes] = await Promise.all([\n this.supportTypeService.fetchMultiple(\n this.escalationContacts.map((ec) => ec.support_type_id)\n ),\n this.contactTypeService.fetchMultiple(\n this.escalationContacts.map((ec) => ec.contact_type_id)\n ),\n ]);\n this.contactTypes = contactTypes;\n this.supportTypes = supportTypes;\n }\n }\n\n this.registration = registration;\n let trialLengthIndex = this.trialOptions.findIndex(\n (to) => to.value === this.registration.trial_length\n );\n if (trialLengthIndex > -1)\n this.selectedTrialOption = this.trialOptions[trialLengthIndex];\n\n for (const logSource of this.registration?.log_sources) {\n this.logSourceWrappers.push({\n log_source: logSource,\n log_source_type: logSourceTypes.find(\n (lst) => lst.id === logSource.log_source_type_id\n ),\n });\n }\n }\n } catch (err: any) {\n console.error(err);\n if (err instanceof HttpErrorResponse) {\n const httpError = err as HttpErrorResponse;\n switch (httpError.error) {\n default: {\n if (typeof httpError.error === 'string')\n this.error = httpError.error;\n else\n this.error = await lastValueFrom(\n this.translateService.get('Error.GenericServerError')\n );\n }\n }\n }\n } finally {\n this.loadingService.hide();\n }\n }\n\n copyTenantId() {\n navigator.clipboard.writeText(this.registration.tenant.tenant_id);\n }\n\n async toggleLogSource(logSource: LogSource) {\n const logSourceType = this.logSourceWrappers.find(\n (lsw) => lsw.log_source_type.id === logSource.log_source_type_id\n )?.log_source_type;\n\n try {\n await this.logSourceService.save(logSource);\n this.notificationService.show({\n content: `${logSourceType?.name} successfully ${\n logSource.is_enabled ? 'enabled' : 'disabled'\n }.`,\n animation: { type: 'fade', duration: 400 },\n position: { horizontal: 'center', vertical: 'bottom' },\n type: { style: 'success', icon: true },\n });\n } catch (err: any) {\n console.error(err);\n this.notificationService.show({\n content: `An error occurred ${\n logSource.is_enabled ? 'enabling' : 'disabling'\n } ${logSourceType?.name}. Please try again...`,\n animation: { type: 'fade', duration: 400 },\n position: { horizontal: 'center', vertical: 'bottom' },\n type: { style: 'error', icon: true },\n });\n }\n }\n async toggleTrial() {\n const action = this.registration.is_trial ? 'enabled' : 'disabled';\n try {\n if (\n this.registration.is_complete &&\n this.registration.is_trial &&\n !this.registration.trial_expiration\n ) {\n //if registration is already complete, trial date will not be set\n let trialDate = new Date();\n trialDate.setDate(trialDate.getDate() + 30);\n this.registration.trial_expiration = trialDate;\n this.selectedTrialOption = this.trialOptions[1];\n this.registration.trial_length = 30;\n }\n\n await this.registrationService.updateTrial(\n this.registration.id,\n this.registration.is_trial,\n this.registration.trial_expiration,\n this.registration.trial_length\n );\n\n const id = this.route.snapshot.paramMap.get('id');\n if (id) this.registration = await this.registrationService.adminFetch(id);\n\n this.notificationService.show({\n content: `Trial ${action} successfully.`,\n animation: { type: 'fade', duration: 400 },\n position: { horizontal: 'center', vertical: 'bottom' },\n type: { style: 'success', icon: true },\n });\n } catch (err: any) {\n this.notificationService.show({\n content:\n 'An error occurred updating the trial details. Please try again...',\n animation: { type: 'fade', duration: 400 },\n position: { horizontal: 'center', vertical: 'bottom' },\n type: { style: 'error', icon: true },\n });\n }\n }\n async extendTrial() {\n try {\n this.registration.trial_length = this.selectedTrialOption.value;\n\n let trialDate = new Date(this.registration.trial_expiration);\n trialDate.setUTCDate(\n trialDate.getUTCDate() + this.registration.trial_length\n );\n this.registration.trial_expiration = trialDate;\n\n await this.registrationService.updateTrial(\n this.registration.id,\n this.registration.is_trial,\n this.registration.trial_expiration,\n this.registration.trial_length\n );\n\n this.notificationService.show({\n content: 'Trial extended successfully.',\n animation: { type: 'fade', duration: 400 },\n position: { horizontal: 'center', vertical: 'bottom' },\n type: { style: 'success', icon: true },\n });\n } catch (err: any) {\n console.error(err);\n this.notificationService.show({\n content: 'An error occurred extending the trial. Please try again...',\n animation: { type: 'fade', duration: 400 },\n position: { horizontal: 'center', vertical: 'bottom' },\n type: { style: 'error', icon: true },\n });\n }\n }\n}\n","
    \n

    {{ \"ViewRegistration.Header\" | translate }}

    \n
    \n
    \n
    \n \n
    {{ registration.email }}
    \n
    \n
    \n
    \n
    \n \n
    \n {{ registration.tenant.company }}\n
    \n
    \n
    \n
    \n
    \n \n
    \n {{ registration.service_type || \"Standard\" }}\n
    \n
    \n
    \n
    \n
    \n \n
    \n {{ registration.tenant.tenant_id }}\n \n content_copy\n \n
    \n
    \n
    \n
    \n
    \n \n
    {{ registration.expiration | date : \"medium\" }}
    \n
    \n
    \n
    \n
    \n \n
    \n \n check_circle\n \n {{ \"ViewRegistration.StatusComplete\" | translate }}\n
    \n \n error \n {{ \"ViewRegistration.StatusExpired\" | translate }}\n
    \n \n \n mark_email_read\n \n {{ \"ViewRegistration.StatusPending\" | translate }}\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n \n \n \n hourglass_top\n \n \n {{ \"ViewRegistration.TrialActive\" | translate }}\n {{ registration.trial_expiration | date : \"medium\" }} local time\n ({{ registration.trial_expiration | date : \"medium\" : \"+0000\" }}\n UTC)\n \n
    \n \n \n hourglass_bottom\n \n \n {{ \"ViewRegistration.TrialExpired\" | translate }}\n {{ registration.trial_expiration | date : \"medium\" }} local time\n ({{ registration.trial_expiration | date : \"medium\" : \"+0000\" }}\n UTC)\n \n
    \n
    \n \n \n \n \n \n \n \n more_time\n \n \n \n\n \n \n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n \n mark_email_read\n \n \n error\n \n \n check_circle\n \n \n error\n \n {{ lsw?.log_source_type?.name }}\n
    \n
    \n {{ lsw?.log_source?.retrieval_interval_minutes }}\n
    \n
    \n {{ lsw?.log_source?.last_retrieved | date : \"medium\" }}\n
    \n
    \n \n
    \n
    \n \n
    \n \n
    \n \n \n\n","export class ConsentInformation {\n app_id!: string;\n prerequisite_app_id!: string;\n consent!: boolean;\n skipped!: boolean;\n order!: number;\n}\n\nexport class ServicePrincipal {\n app_id!: string;\n app_display_name!: string;\n app_roles!: AppRole[];\n account_enabled!: boolean;\n service_principal_names!: string;\n service_principal_type!: string;\n disabled_by_microsoft_status!: string;\n}\n\nexport class AppRole {\n description!: string;\n display_name!: string;\n origin!: string;\n value!: string;\n is_enabled!: boolean;\n}\n\nexport enum PrerequisiteAppIds {\n Graph = '00000003-0000-0000-c000-000000000000',\n Office365ManagementApi = 'c5393580-f805-4401-95e8-94b7a6ef2fc2',\n MicrosoftThreatProtection = '8ee8fdad-f234-4243-8f3b-15c294843740',\n}\n","export class EntityBase {\n id!: string;\n create_time!: Date;\n create_user_id!: number;\n modify_time!: Date;\n modify_user_id!: number;\n delete_time!: Date;\n delete_user_id!: number;\n}\n\nexport class SearchRequest {\n page_number: number = 1;\n page_size: number = 10;\n order_by!: string;\n}\n\nexport class PageRequest extends SearchRequest {\n where!: string;\n}\n\nexport interface PageResponse {\n data: T[];\n total_count: number;\n}","export enum Roles {\n Admin = 'Admin',\n Member = 'Member',\n}\n\nexport enum RoleIds {\n Admin = 1,\n Member = 2,\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { CreateAdminRegistrationComponent } from 'src/app/components/create-admin-registration/create-admin-registration.component';\nimport { CreateRegistrationComponent } from 'src/app/components/create-registration/create-registration.component';\nimport { SearchAdminRegistrationComponent } from 'src/app/components/search-admin-registration/search-admin-registration.component';\nimport { SearchRegistrationComponent } from 'src/app/components/search-registration/search-registration.component';\nimport { ViewRegistrationComponent } from 'src/app/components/view-registration/view-registration.component';\nimport { ReportManagementComponent } from '../../components/report-management/report-management.component';\nimport { ReportUploadComponent } from 'src/app/components/report-upload/report-upload.component';\nimport { ReportEditComponent } from 'src/app/components/report-edit/report-edit.component';\nimport { ReportViewComponent } from 'src/app/components/report-view/report-view.component';\n\nconst routes: Routes = [\n {\n path: 'register',\n component: CreateRegistrationComponent,\n pathMatch: 'full',\n },\n {\n path: 'register-admin',\n component: CreateAdminRegistrationComponent,\n pathMatch: 'full',\n },\n {\n path: 'registrations',\n component: SearchRegistrationComponent,\n pathMatch: 'full',\n },\n {\n path: 'administrators',\n component: SearchAdminRegistrationComponent,\n pathMatch: 'full',\n },\n {\n path: 'registration/:id',\n component: ViewRegistrationComponent,\n pathMatch: 'full',\n },\n {\n path: 'reports',\n component: ReportManagementComponent,\n pathMatch: 'full',\n },\n {\n path: 'reports/upload',\n component: ReportUploadComponent,\n pathMatch: 'full',\n },\n {\n path: 'reports/:id/edit',\n component: ReportEditComponent,\n pathMatch: 'full',\n },\n {\n path: 'reports/:id',\n component: ReportViewComponent,\n pathMatch: 'full',\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class AdminRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { AdminRoutingModule } from './admin-routing.module';\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule, AdminRoutingModule],\n})\nexport class AdminModule {}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { CompleteRegistrationComponent } from 'src/app/components/complete-registration/complete-registration.component';\nimport { ErrorComponent } from 'src/app/components/error/error.component';\nimport { FinishSetupComponent } from 'src/app/components/finish-setup/finish-setup.component';\nimport { MonitoringDashboardComponent } from 'src/app/components/monitoring-dashboard/monitoring-dashboard.component';\nimport { Roles } from 'src/app/models/roles';\nimport { RoleGuard } from 'src/app/services/role.guard';\n\nconst routes: Routes = [\n {\n path: '',\n component: MonitoringDashboardComponent,\n pathMatch: 'full',\n canActivate: [RoleGuard.forRoles(Roles.Member)],\n },\n {\n path: 'register/admin/:code',\n component: CompleteRegistrationComponent,\n pathMatch: 'full',\n },\n {\n path: 'finish-setup',\n component: FinishSetupComponent,\n },\n {\n path: 'error',\n component: ErrorComponent,\n },\n {\n path: 'admin',\n loadChildren: () =>\n import('../admin/admin.module').then((m) => m.AdminModule),\n canActivate: [RoleGuard.forRoles(Roles.Admin)],\n canActivateChild: [RoleGuard.forRoles(Roles.Admin)],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PostloginRoutingModule {}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-post-login',\n templateUrl: './post-login.component.html',\n styleUrls: ['./post-login.component.scss'],\n})\nexport class PostLoginComponent implements OnInit {\n ngOnInit(): void {}\n}\n","\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PostLoginComponent } from './post-login.component';\nimport { RouterModule } from '@angular/router';\nimport { PostloginRoutingModule } from './post-login-routing.module';\n\n@NgModule({\n declarations: [PostLoginComponent],\n imports: [CommonModule, RouterModule, PostloginRoutingModule],\n})\nexport class PostLoginModule {}\n","import { Injectable } from '@angular/core';\nimport { MsalService } from '@azure/msal-angular';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ActiveUserService {\n constructor(\n private translateService: TranslateService,\n private msalService: MsalService\n ) {}\n\n async validateActiveUser(email: string): Promise {\n const tenantId = localStorage.getItem('tenantId');\n let error = null;\n if (tenantId) {\n //Try to make sure the correct account is active, if user is logged into multiple MSFT accounts\n const accounts = this.msalService.instance.getAllAccounts();\n //First check with both the username & tenantId\n //TenantId comes back from microsoft redirect & may or may not be the right tenant for the registration\n const tenantUserMatch = accounts.find(\n (a) =>\n a.username.toLowerCase() === email?.toLowerCase() &&\n a.tenantId === tenantId\n );\n if (tenantUserMatch)\n this.msalService.instance.setActiveAccount(tenantUserMatch);\n else {\n const userOnlyMatch = accounts.find(\n (a) => a.username.toLowerCase() === email?.toLowerCase()\n );\n if (userOnlyMatch) {\n //User exists, but tenantId coming back from microsoft redirect is for a different tenant\n error = this.translateService.instant('Error.InvalidTenant');\n } else {\n //No user exists matching the email\n error = this.translateService.instant('Error.InvalidUser');\n }\n }\n }\n return error;\n }\n}\n","import { HttpBackend, HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BrowserAuthOptions } from '@azure/msal-browser';\nimport { lastValueFrom } from 'rxjs';\n\nexport class Responder365AppConfig {\n apiUrl!: string;\n pollIntervalSeconds: number = 15;\n authConfig!: BrowserAuthOptions;\n appInsightsKey!: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppConfigService {\n private configObject!: Responder365AppConfig;\n private environment!: string;\n private readonly http!: HttpClient;\n constructor(httpBackend: HttpBackend) {\n const hostname = window && window.location && window.location.hostname;\n\n this.http = new HttpClient(httpBackend);\n\n if (/localhost/.test(hostname)) {\n this.environment = 'local';\n } else if (/dev/.test(hostname)) {\n this.environment = 'dev';\n } else if (/qa/.test(hostname)) {\n this.environment = 'qa';\n } else if (/stage/.test(hostname)) {\n this.environment = 'stage';\n } else {\n this.environment = 'production';\n }\n if (this.environment !== 'production') {\n console.log('environment: ' + this.environment);\n }\n }\n\n async loadConfig(version: string = ''): Promise {\n const url = `../../assets/configuration/app.config.${this.environment}.json?v=${version}`;\n const data = await lastValueFrom(this.http.get(url));\n this.configObject = data;\n }\n\n get config(): Responder365AppConfig {\n return this.configObject;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\nimport { Responder365AppConfig } from './app-config-service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppInsightsService {\n appInsights: ApplicationInsights;\n constructor(config: Responder365AppConfig) {\n this.appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: config.appInsightsKey,\n enableAutoRouteTracking: true, // option to log all route changes\n },\n });\n if (config.appInsightsKey) {\n console.log('Starting app insights...');\n this.appInsights.loadAppInsights();\n }\n }\n\n logPageView(name?: string, url?: string) {\n // option to call manually\n this.appInsights.trackPageView({\n name: name,\n uri: url,\n });\n }\n\n logEvent(name: string, properties?: { [key: string]: any }) {\n this.appInsights.trackEvent({ name: name }, properties);\n }\n\n logMetric(\n name: string,\n average: number,\n properties?: { [key: string]: any }\n ) {\n this.appInsights.trackMetric({ name: name, average: average }, properties);\n }\n\n logException(exception: Error, severityLevel?: number) {\n this.appInsights.trackException({\n exception: exception,\n severityLevel: severityLevel,\n });\n }\n\n logTrace(message: string, properties?: { [key: string]: any }) {\n this.appInsights.trackTrace({ message: message }, properties);\n }\n\n setAuthenticatedUser(userId: string, accountId: string) {\n this.appInsights.setAuthenticatedUserContext(userId, accountId, true);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { PageResponse, PageRequest } from '../models/entity-base';\nimport { Responder365AppConfig } from './app-config-service';\nimport { BaseApiService } from './base-api-service';\nimport { lastValueFrom } from 'rxjs';\n\n/* This is intended to be used with the standard autogenerated API endpoints */\nexport abstract class AutoGeneratedApiService extends BaseApiService {\n constructor(\n protected appConfigService: Responder365AppConfig,\n protected _http: HttpClient,\n protected serviceName: string\n ) {\n super(appConfigService, _http, serviceName);\n }\n\n async fetch(id: string): Promise {\n const url = `${this.baseServiceUrl}/fetch`;\n return lastValueFrom(this._http.post(url, id));\n }\n\n async fetchMultiple(ids: string[]): Promise {\n const url = `${this.baseServiceUrl}/fetch-multiple`;\n return lastValueFrom(this._http.post(url, ids));\n }\n\n async delete(id: string): Promise {\n const url = `${this.baseServiceUrl}/${id}`;\n return lastValueFrom(this._http.delete(url));\n }\n\n async deleteMultiple(ids: string[]): Promise {\n const url = `${this.baseServiceUrl}/delete-for-ids`;\n return lastValueFrom(this._http.delete(url, { body: ids }));\n }\n\n async list(): Promise {\n return lastValueFrom(this._http.get(this.baseServiceUrl));\n }\n\n async save(model: T): Promise {\n return lastValueFrom(this._http.post(this.baseServiceUrl, model));\n }\n\n async saveMultiple(model: T[]): Promise {\n return lastValueFrom(\n this._http.post(`${this.baseServiceUrl}/multiple`, model)\n );\n }\n\n async page(\n orderBy: string,\n page: number,\n pageSize: number,\n where?: string\n ): Promise> {\n const url = `${this.baseServiceUrl}/page`;\n const request = new PageRequest();\n request.order_by = orderBy;\n request.page_number = page;\n request.page_size = pageSize;\n request.where = where || '';\n return lastValueFrom(this._http.post>(url, request));\n }\n\n async listForProperty(name: string, id: string): Promise {\n const url = `${this.baseServiceUrl}/for/${name}`;\n\n return lastValueFrom(this._http.post(url, id));\n }\n\n async listForMultipleProperty(\n pluralName: string,\n ids: string[]\n ): Promise {\n const url = `${this.baseServiceUrl}/for/${pluralName}`;\n return lastValueFrom(this._http.post(url, ids));\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Responder365AppConfig } from './app-config-service';\n\nexport abstract class BaseApiService {\n protected readonly baseServiceUrl: string;\n constructor(\n protected config: Responder365AppConfig,\n protected _http: HttpClient,\n protected serviceName: string\n ) {\n this.baseServiceUrl = `${config.apiUrl}/api/${serviceName}`;\n }\n\n get headers() {\n return {\n 'Content-Type': 'application/json',\n };\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ContactType } from '../models/contact-type';\nimport { AutoGeneratedApiService } from './autogenerated-api-service';\nimport { Responder365AppConfig } from './app-config-service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ContactTypeService extends AutoGeneratedApiService {\n constructor(appConfigService: Responder365AppConfig, http: HttpClient) {\n super(appConfigService, http, 'contact-type');\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { EscalationContact } from '../models/escalation-contact';\nimport { Responder365AppConfig } from './app-config-service';\nimport { AutoGeneratedApiService } from './autogenerated-api-service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EscalationContactService extends AutoGeneratedApiService {\n constructor(appConfigService: Responder365AppConfig, http: HttpClient) {\n super(appConfigService, http, 'escalation-contact');\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { EscalationDetail } from '../models/escalation-detail';\nimport { AutoGeneratedApiService } from './autogenerated-api-service';\nimport { Responder365AppConfig } from './app-config-service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EscalationDetailService extends AutoGeneratedApiService {\n constructor(appConfigService: Responder365AppConfig, http: HttpClient) {\n super(appConfigService, http, 'escalation-detail');\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ColumnBase,\n ColumnComponent,\n GridComponent,\n} from '@progress/kendo-angular-grid';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n SortDescriptor,\n} from '@progress/kendo-data-query';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class KendoGridHelper {\n getDataFieldName(propertyName: string) {\n return propertyName.replace(/_/g, '');\n }\n\n getFilterString(\n field: string,\n operator: string,\n value: string | Number | Date\n ): string {\n let result = '';\n if (value instanceof Date) {\n //Discard any time associated with the value\n value = new Date(value.getFullYear(), value.getMonth(), value.getDate());\n result = this.getDateOperator(field, operator, value);\n } else if (value instanceof Number) {\n result = this.getNumericOperator(field, operator, value);\n } else {\n let trimmedValue = value?.toString()?.trim() ?? '';\n result = this.getStringOperator(field, operator, trimmedValue);\n }\n return result;\n }\n\n getSortString(sorts: SortDescriptor[] | undefined): string {\n let result = '';\n if (sorts !== undefined && sorts[0] && sorts[0].dir) {\n result = this.getDataFieldName(sorts[0].field) + ' ' + sorts[0].dir;\n }\n return result;\n }\n\n getFullFilterString(filter: CompositeFilterDescriptor) {\n let result = undefined;\n if (filter) {\n for (var i = 0; i < filter.filters.length; i++) {\n let compositeFilter = filter.filters[i] as CompositeFilterDescriptor;\n for (var j = 0; j < compositeFilter.filters.length; j++) {\n let singleFilter = compositeFilter.filters[j] as FilterDescriptor;\n if (!result) {\n result = this.getFilterString(\n this.getDataFieldName(singleFilter.field as string),\n singleFilter.operator as string,\n singleFilter.value\n );\n } else {\n result += ` ${compositeFilter.logic} ${this.getFilterString(\n this.getDataFieldName(singleFilter.field as string),\n singleFilter.operator as string,\n singleFilter.value\n )}`;\n }\n }\n }\n }\n return result;\n }\n\n getSearchFilter(text: string, columns: ColumnBase[]): string {\n let searchFilter = '';\n for (let column of columns) {\n let columnComponent = column as ColumnComponent;\n if (columnComponent.field && columnComponent.filter === 'text') {\n if (!searchFilter) {\n searchFilter = this.getFilterString(\n this.getDataFieldName(columnComponent.field as string),\n 'contains',\n text\n );\n } else {\n searchFilter += ` OR ${this.getFilterString(\n this.getDataFieldName(columnComponent.field as string),\n 'contains',\n text\n )}`;\n }\n }\n }\n return searchFilter;\n }\n\n getPageApiWhereClause(\n gridFilter: CompositeFilterDescriptor,\n gridColumns: ColumnBase[],\n searchText: string\n ) {\n let filter = this.getFullFilterString(gridFilter);\n if (searchText) {\n let searchFilter = this.getSearchFilter(searchText, gridColumns);\n if (filter) {\n filter = `${filter} AND (${searchFilter})`;\n } else {\n filter = searchFilter;\n }\n }\n return filter;\n }\n\n /* This method exists to convert the equals operator to a comparable expression for a date time offset comparsion.\n Since the kendo date filter only has date, we need to convert that to an expression that covers the full day time range */\n private getDateEqualsDateTimeClause(\n field: string,\n value: Date,\n equals: boolean\n ): string {\n let nextDay = new Date(value);\n nextDay.setDate(nextDay.getDate() + 1);\n return `((${field}>=\"${value.toISOString()}\" AND ${field}<\"${nextDay.toISOString()}\") = ${equals})`;\n }\n\n private getStringOperator(\n field: string,\n operator: string,\n value: string\n ): string {\n let result = '';\n switch (operator) {\n case 'startswith':\n case 'endswith':\n case 'contains': {\n result = `${field}.${operator}(\"${value}\")`;\n break;\n }\n case 'doesnotcontain': {\n result = `!${field}.contains(\"${value}\")`;\n break;\n }\n case 'isempty':\n case 'eq': {\n result = `${field}=\"${value}\"`;\n break;\n }\n case 'isnotempty':\n case 'neq': {\n result = `${field}!=\"${value}\"`;\n break;\n }\n case 'isnull': {\n result = `${field} = NULL`;\n break;\n }\n case 'isnotnull': {\n result = `${field} != NULL`;\n break;\n }\n default: {\n console.error('Unknown operator: ' + operator);\n }\n }\n return result;\n }\n\n private getNumericOperator(\n field: string,\n operator: string,\n value: Number\n ): string {\n let result = '';\n switch (operator) {\n case 'isempty':\n case 'eq': {\n result = `${field}=\"${value}\"`;\n break;\n }\n case 'isnotempty':\n case 'neq': {\n result = `${field}!=\"${value}\"`;\n break;\n }\n case 'gte': {\n result = `${field}>=\"${value}\"`;\n break;\n }\n case 'gt': {\n result = `${field}>\"${value}\"`;\n break;\n }\n case 'lte': {\n result = `${field}<=\"${value}\"`;\n break;\n }\n case 'lt': {\n result = `${field}<\"${value}\"`;\n break;\n }\n case 'isnull': {\n result = `${field} = NULL`;\n break;\n }\n case 'isnotnull': {\n result = `${field} != NULL`;\n break;\n }\n default: {\n console.error('Unknown operator: ' + operator);\n }\n }\n return result;\n }\n private getDateOperator(\n field: string,\n operator: string,\n value: Date\n ): string {\n let result = '';\n switch (operator) {\n case 'eq': {\n result = this.getDateEqualsDateTimeClause(field, value, true);\n break;\n }\n case 'neq': {\n result = this.getDateEqualsDateTimeClause(field, value, false);\n break;\n }\n case 'gte': {\n result = `${field}>=\"${value.toISOString()}\"`;\n break;\n }\n case 'gt': {\n let nextDay = new Date(value);\n nextDay.setDate(nextDay.getDate() + 1);\n result = `${field}>\"${nextDay.toISOString()}\"`;\n break;\n }\n case 'lte': {\n let nextDay = new Date(value);\n nextDay.setDate(nextDay.getDate() + 1);\n result = `${field}<=\"${nextDay.toISOString()}\"`;\n break;\n }\n case 'lt': {\n result = `${field}<\"${value.toISOString()}\"`;\n break;\n }\n case 'isnull': {\n result = `${field} = NULL`;\n break;\n }\n case 'isnotnull': {\n result = `${field} != NULL`;\n break;\n }\n default: {\n console.error('Unknown operator: ' + operator);\n }\n }\n return result;\n }\n\n fitColumns(grid: GridComponent): void {\n if (grid) {\n grid.autoFitColumns(grid.columns);\n\n /* The code below is an attempt to address the standard kendo grid behavior with autoFitColumns\n that causes there to be weird whitespace if the total autosized column widths end up being less \n than the width of the grid. This expands the last column to fill the remaining width (if possible)*/\n const tableWidth =\n document?.querySelector('.k-grid-table')?.offsetWidth ?? 0;\n const contentWidth =\n document?.querySelector('.k-grid-content')?.offsetWidth ??\n 0;\n let emailColumn = grid.columns.find((c) =>\n (c as ColumnComponent)?.field?.includes('email')\n );\n let lastColumn = grid.columns.get(grid.columns.length - 1);\n let column = emailColumn ?? lastColumn; //use the first column bound to a field containing 'email' or fallback to the last column\n if (column) {\n const availableWidth =\n column.width + (contentWidth - tableWidth - grid.scrollbarWidth);\n if (availableWidth > column.minResizableWidth) {\n column.width = availableWidth;\n }\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingService {\n private loadingSubject$ = new BehaviorSubject(false);\n loadingObservable$ = this.loadingSubject$.asObservable();\n\n async show() {\n this.loadingSubject$.next(true);\n }\n\n async hide() {\n this.loadingSubject$.next(false);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LogSource } from '../models/log-source';\nimport { AutoGeneratedApiService } from './autogenerated-api-service';\nimport { lastValueFrom } from 'rxjs';\nimport { Responder365AppConfig } from './app-config-service';\n@Injectable({\n providedIn: 'root',\n})\nexport class LogSourceService extends AutoGeneratedApiService {\n constructor(config: Responder365AppConfig, http: HttpClient) {\n super(config, http, 'log-source');\n }\n\n async start(id: number): Promise {\n return lastValueFrom(\n this._http.post(this.baseServiceUrl + '/start', id)\n );\n }\n\n async stop(id: number): Promise {\n return lastValueFrom(\n this._http.post(this.baseServiceUrl + '/stop', id)\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LogSourceType } from '../models/log-source-type';\nimport { Responder365AppConfig } from './app-config-service';\nimport { AutoGeneratedApiService } from './autogenerated-api-service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LogSourceTypeService extends AutoGeneratedApiService {\n constructor(config: Responder365AppConfig, http: HttpClient) {\n super(config, http, 'log-source-type');\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom } from 'rxjs';\nimport { PageRequest, PageResponse } from '../models/entity-base';\nimport { EscalationContact } from '../models/escalation-contact';\nimport { EscalationDetail } from '../models/escalation-detail';\nimport { LogSource } from '../models/log-source';\nimport {\n AdminRegistrationResponse,\n CreateRegistrationRequest,\n Registration,\n RegistrationResponse,\n} from '../models/registration';\nimport { Responder365AppConfig } from './app-config-service';\nimport { BaseApiService } from './base-api-service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RegistrationService extends BaseApiService {\n constructor(protected config: Responder365AppConfig, http: HttpClient) {\n super(config, http, 'registration');\n }\n\n async fetch(identifier: string) {\n return lastValueFrom(\n this._http.post(\n this.baseServiceUrl + '/fetch',\n JSON.stringify(identifier),\n {\n headers: this.headers,\n }\n )\n );\n }\n\n async list() {\n return lastValueFrom(this._http.get(this.baseServiceUrl));\n }\n\n async complete(\n code: string,\n escalationDetail: EscalationDetail = {},\n escalationContacts: EscalationContact[] = []\n ) {\n return lastValueFrom(\n this._http.post(this.baseServiceUrl + '/complete', {\n code: code,\n escalation_detail: escalationDetail,\n escalation_contacts: escalationContacts,\n })\n );\n }\n\n async createMember(\n email: string,\n company: string,\n existingCompanyCode: string,\n logSources: LogSource[],\n isTrial: boolean = false,\n serviceType: string = ''\n ) {\n return lastValueFrom(\n this._http.post(\n this.baseServiceUrl + '/create',\n {\n email_address: email,\n company: company,\n existing_company_code: existingCompanyCode,\n log_sources: logSources,\n is_trial: isTrial,\n service_type: serviceType,\n },\n {\n headers: this.headers,\n }\n )\n );\n }\n\n async createAdmin(email: string) {\n return lastValueFrom(\n this._http.post(\n this.baseServiceUrl + '/create-admin',\n JSON.stringify(email),\n {\n headers: this.headers,\n }\n )\n );\n }\n\n async resend(id: string): Promise {\n return lastValueFrom(\n this._http.post(this.baseServiceUrl + '/resend', id)\n );\n }\n\n async delete(id: string): Promise {\n return lastValueFrom(\n this._http.post(this.baseServiceUrl + '/delete', id)\n );\n }\n\n async updateTrial(\n id: string,\n isTrial: boolean,\n expiration: Date,\n trialLength: number\n ): Promise {\n return lastValueFrom(\n this._http.post(this.baseServiceUrl + '/update-trial', {\n registration_id: id,\n is_trial: isTrial,\n trial_expiration: expiration,\n trial_length: trialLength,\n })\n );\n }\n\n async adminConsent(appId: string, state: string = '') {\n //NOTE: The route the user is redirected after consent MUST NOT be guarded by MSALGuard.\n //After consent, the redirect back to app contains query parameters that get picked up by the MsalRedirectComponent and causes an infinite login loop\n //TODO: Replace with msalService.loginRedirect when they allow admin consent to be completed through it\n //See: https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/1626\n const url = `${location.origin}/consent`;\n location.href = `https://login.microsoftonline.com/organizations/adminconsent?client_id=${appId}&state=${state}&redirect_uri=${url}&scope=.default`;\n }\n\n async adminSearch(request: PageRequest): Promise> {\n return lastValueFrom(\n this._http.post>(\n this.baseServiceUrl + '/page',\n request\n )\n );\n }\n\n async adminFetch(id: string): Promise {\n return lastValueFrom(\n this._http.post(\n this.baseServiceUrl + '/admin/fetch',\n id\n )\n );\n }\n async sendContactUsEmail(formData: any) {\n return lastValueFrom(\n this._http.post(\n this.baseServiceUrl + '/contact-us',\n formData\n )\n );\n }\n}\n\nexport function isExpired(expiration: Date) {\n return new Date() > new Date(expiration);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AutoGeneratedApiService } from './autogenerated-api-service';\nimport { Responder365AppConfig } from './app-config-service';\nimport { ReportDefinition } from '../models/report-definition';\nimport { Observable, lastValueFrom } from 'rxjs';\nimport { PageRequest, PageResponse } from '../models/entity-base';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ReportDefinitionService extends AutoGeneratedApiService {\n constructor(config: Responder365AppConfig, http: HttpClient) {\n super(config, http, 'report-definition');\n }\n\n async search(request: PageRequest): Promise> {\n return lastValueFrom(\n this._http.post>(\n this.baseServiceUrl + '/page',\n request\n )\n );\n }\n\n async add(\n name: string,\n filename: string,\n base64: string,\n ) {\n return lastValueFrom(\n this._http.post(`${this.baseServiceUrl}/file`, {\n name: name,\n filename: filename,\n data: base64\n })\n );\n }\n\n async edit(\n id: string,\n name: string,\n filename: string,\n base64: string,\n ) {\n return lastValueFrom(\n this._http.put(`${this.baseServiceUrl}/file/${id}`, {\n name: name,\n filename: filename,\n data: base64\n })\n );\n }\n\n download(id: string) : Observable {\n return this._http.get(`${this.baseServiceUrl}/file/${id}`, {\n responseType: 'blob'\n });\n }\n\n}\n","import { InjectionToken, inject, Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n CanActivateChild,\n Router,\n RouterStateSnapshot,\n UrlTree,\n} from '@angular/router';\nimport { MsalService } from '@azure/msal-angular';\nimport { lastValueFrom, Observable } from 'rxjs';\nimport { LoadingService } from './loading-service';\nimport { SessionService } from './session-service';\nimport {\n AuthError,\n InteractionRequiredAuthError,\n RedirectRequest,\n} from '@azure/msal-browser';\nimport { Responder365AppConfig } from './app-config-service';\n\nexport class RoleGuard {\n static forRoles(...roles: string[]) {\n return new InjectionToken('RoleGuard', {\n providedIn: 'root',\n factory: () => {\n const sessionService = inject(SessionService);\n const router = inject(Router);\n const loadingService = inject(LoadingService);\n const msalService = inject(MsalService);\n const config = inject(Responder365AppConfig);\n return new RoleCheck(\n sessionService,\n router,\n loadingService,\n msalService,\n config,\n roles\n );\n },\n });\n }\n}\n\nexport class RoleCheck implements CanActivate, CanActivateChild {\n constructor(\n private sessionService: SessionService,\n private router: Router,\n private loadingService: LoadingService,\n private msalService: MsalService,\n private config: Responder365AppConfig,\n private roles: string[]\n ) {}\n async canActivateChild(\n childRoute: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Promise {\n return await this.canActivate();\n }\n async canActivate(): Promise {\n {\n this.loadingService.show();\n let result = false;\n try {\n await this.msalService.instance.acquireTokenSilent({\n scopes: [\n `api://${this.config?.authConfig?.clientId}/User.Api.Access`,\n ],\n account: this.msalService.instance.getActiveAccount() ?? undefined,\n });\n let s = await this.sessionService.fetch();\n if (this.roles.some((r) => s.roles.includes(r))) result = true;\n else {\n if (!this.roles.includes('Admin') && s.roles.includes('Admin'))\n await this.router.navigateByUrl('/admin/registrations');\n else if (!this.roles.includes('Member') && s.roles.includes('Member'))\n await this.router.navigateByUrl('/');\n }\n } catch (err: any) {\n console.error(err);\n if (err instanceof AuthError) {\n await this.msalService.instance.loginRedirect({\n scopes: [\n `api://${this.config?.authConfig?.clientId}/User.Api.Access`,\n ],\n prompt: 'select_account',\n });\n } else {\n let error = 'unknown';\n switch (err.status) {\n case 401:\n error = 'invalid-user';\n break;\n case 400:\n case 403:\n await this.msalService.instance.loginRedirect({\n scopes: [\n `api://${this.config?.authConfig?.clientId}/User.Api.Access`,\n ],\n prompt: 'select_account',\n });\n return false;\n }\n await this.router.navigateByUrl('/error', {\n state: { error: error },\n });\n }\n } finally {\n this.loadingService.hide();\n return result;\n }\n }\n }\n}\n","import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n} from '@angular/common/http';\nimport { Injector } from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { MsalService } from '@azure/msal-angular';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { Responder365AppConfig } from './app-config-service';\nimport { EndSessionRequest, RedirectRequest } from '@azure/msal-browser';\nimport { Router } from '@angular/router';\nimport { LoadingService } from './loading-service';\n\n@Injectable()\nexport class SessionInterceptor implements HttpInterceptor {\n apiUrl: any;\n get authService(): MsalService {\n // Need to use injector like a service provider to prevent circular dep chain of\n // HttpClient -> HttpInterceptor -> SessionService -> HttpClient\n return this.injector.get(MsalService);\n }\n\n constructor(\n private injector: Injector,\n private config: Responder365AppConfig,\n private router: Router\n ) {\n this.apiUrl = config.apiUrl;\n }\n\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n if (req.url.startsWith(this.apiUrl)) {\n return next.handle(req).pipe(\n map((event: HttpEvent) => this.handleUnauthorizedResponse(event)),\n catchError((error: HttpErrorResponse) => {\n if (error instanceof HttpErrorResponse) {\n switch (error.status) {\n case 401:\n this.router.navigateByUrl('/error', {\n state: { error: 'invalid-user' },\n });\n break;\n case 403:\n this.authService.instance.loginRedirect({\n scopes: [\n `api://${this.config?.authConfig?.clientId}/User.Api.Access`,\n ],\n prompt: 'select_account',\n });\n break;\n }\n }\n return throwError(() => error);\n })\n );\n }\n return next.handle(req);\n }\n\n private handleUnauthorizedResponse(event: HttpEvent) {\n if (event instanceof HttpResponse) {\n if (event.status === 200 && event.body?.status === 401) {\n this.authService.instance.logout({\n account: this.authService.instance.getActiveAccount(),\n });\n }\n }\n return event;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, ReplaySubject } from 'rxjs';\nimport { Session } from '../models/session';\nimport { Responder365AppConfig } from './app-config-service';\nimport { BaseApiService } from './base-api-service';\nimport { MsalService } from '@azure/msal-angular';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SessionService extends BaseApiService {\n private sessionSubject$ = new ReplaySubject(1);\n sessionObservable$ = this.sessionSubject$.asObservable();\n constructor(\n config: Responder365AppConfig,\n http: HttpClient,\n msalService: MsalService\n ) {\n super(config, http, 'session');\n }\n\n async fetch() {\n let session = await lastValueFrom(\n this._http.get(this.baseServiceUrl + '/user')\n );\n this.sessionSubject$.next(session);\n return session;\n }\n\n async end() {\n await lastValueFrom(this._http.get(this.baseServiceUrl + '/end'));\n this.sessionSubject$.next({});\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SideBarService {\n private toggleSubject$ = new BehaviorSubject(false);\n private toggle = false;\n toggleObservable$ = this.toggleSubject$.asObservable();\n\n async toggleSideBar() {\n this.toggle = !this.toggle;\n this.toggleSubject$.next(this.toggle);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { SupportType } from '../models/support-type';\nimport { AutoGeneratedApiService } from './autogenerated-api-service';\nimport { Responder365AppConfig } from './app-config-service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SupportTypeService extends AutoGeneratedApiService {\n constructor(config: Responder365AppConfig, http: HttpClient) {\n super(config, http, 'support-type');\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Tenant } from '../models/tenant';\nimport { AutoGeneratedApiService } from './autogenerated-api-service';\nimport { Responder365AppConfig } from './app-config-service';\nimport { lastValueFrom } from 'rxjs';\nimport { ServicePrincipal } from '../models/consent-information';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TenantService extends AutoGeneratedApiService {\n constructor(config: Responder365AppConfig, http: HttpClient) {\n super(config, http, 'tenant');\n }\n\n async listSkus() {\n return lastValueFrom(this._http.get(this.baseServiceUrl + '/skus'));\n }\n\n async listServicePrincipals() {\n return lastValueFrom(\n this._http.get(\n this.baseServiceUrl + '/service-principals'\n )\n );\n }\n\n async listSkusForTenant(tenantId: string) {\n return lastValueFrom(\n this._http.get(this.baseServiceUrl + `/skus?tenantId=${tenantId}`)\n );\n }\n\n async listServicePrincipalsForTenant(tenantId: string) {\n return lastValueFrom(\n this._http.get(\n this.baseServiceUrl + `/service-principals?tenantId=${tenantId}`\n )\n );\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 42500,\n\t\"./tg.js\": 42500,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["RouterModule","MsalGuard","AdminConsentComponent","CompleteRegistrationComponent","PostLoginComponent","TermsOfUseComponent","ContactUsComponent","EndUserAgreementComponent","BrowserCompatibilityComponent","EligibleServicesComponent","routes","path","component","pathMatch","loadChildren","then","m","PostLoginModule","canActivate","canActivateChild","AppRoutingModule","forRoot","imports","exports","trigger","transition","style","animate","lastValueFrom","i0","AppComponent","constructor","translateService","sideBarService","msalService","appInsightsService","toggleObservable$","subscribe","toggled","showSidebar","addLangs","setDefaultLang","use","ngOnInit","authCallback","handleRedirectObservable","activeAccount","instance","getActiveAccount","account","setActiveAccount","accounts","getAllAccounts","length","setAuthenticatedUser","username","tenantId","toggleSidebar","value","selectors","decls","vars","consts","template","transform","HttpBackend","HttpClient","HttpClientModule","HTTP_INTERCEPTORS","APP_INITIALIZER","BrowserModule","HeaderComponent","FooterComponent","TranslateLoader","TranslateModule","TranslateHttpLoader","MonitoringDashboardComponent","AppConfigService","Responder365AppConfig","PublicClientApplication","BrowserCacheLocation","LogLevel","InteractionType","MsalInterceptor","MsalBroadcastService","MsalService","MSAL_GUARD_CONFIG","MSAL_INSTANCE","MSAL_INTERCEPTOR_CONFIG","MsalRedirectComponent","CreateRegistrationComponent","FormsModule","ReactiveFormsModule","StatusComponent","InputsModule","GridModule","DialogModule","SearchRegistrationComponent","BrowserAnimationsModule","ViewRegistrationComponent","SideBarComponent","FinishSetupComponent","ButtonsModule","DropDownsModule","LabelModule","LayoutModule","IconsModule","CommonModule","DateInputsModule","IndicatorsModule","NotificationModule","LoadingComponent","ErrorComponent","AdminModule","MenusModule","LoadingService","CreateAdminRegistrationComponent","SearchAdminRegistrationComponent","EscalationMatrixComponent","packageInfo","SessionInterceptor","ReportManagementComponent","TelerikReportingModule","ReportUploadComponent","ReportEditComponent","ReportViewComponent","PopupModule","isIE","window","navigator","userAgent","indexOf","HttpLoaderFactory","httpClient","version","MSALInstanceFactory","appConfig","auth","authConfig","cache","cacheLocation","LocalStorage","storeAuthStateInCookie","system","loggerOptions","logLevel","Info","piiLoggingEnabled","MSALInterceptorConfigFactory","config","protectedResourceMap","Map","set","apiUrl","clientId","interactionType","Redirect","MSALGuardConfigFactory","authRequest","scopes","AppModule","bootstrap","provide","useFactory","appConfigService","deps","loadConfig","multi","useClass","loader","declarations","PrerequisiteAppIds","route","router","registrationService","loadingService","show","stateObject","JSON","parse","snapshot","queryParams","state","appId","error","error_description","shortError","substring","consent","admin_consent","toLowerCase","tenant","localStorage","setItem","consentState","getItem","consentInfo","find","ci","app_id","prerequisiteAppId","prerequisite_app_id","stringify","logEvent","tenant_id","navigateByUrl","nextConsentInfo","cs","skipped","hide","adminConsent","encodeURIComponent","nextAdminConsent","finishSetup","skipConsent","HttpErrorResponse","RoleIds","registrationCode","params","code","registrationDetails","fetch","logSources","log_sources","roleId","role_id","instant","err","console","httpError","nextStep","completeAdminRegistration","complete","FormGroup","FormControl","Validators","formGroup","firstName","required","pattern","nameRegex","lastName","email","message","onSubmit","isSuccess","isError","isLoading","markAllAsTouched","valid","contactUsData","first_name","last_name","sendContactUsEmail","reset","get","ctx","formBuilder","createForm","createAdmin","success","group","FormArray","logSourceTypeService","logSourceTypes","list","map","checked","i","logSourceType","log_source_type_id","id","is_enabled","name","split","retrieval_interval_minutes","intervals","filter","v","createMember","company","companyCode","isTrial","serviceType","logSourceTypeFormArray","controls","intervalFormArray","maxLength","minLength","logSourceRequiredValidator","forEach","push","min","toggleLogSourceType","markAsDirty","currentValue","setValue","control","anyChecked","some","tenantService","activeUserService","loadingData","registration","validateActiveUser","logSourcesByAppId","ls","responder_app_id","consentInformation","values","order","log_source_type","Graph","Office365ManagementApi","MicrosoftThreatProtection","sort","a","b","logSourcesTypesByPrerequisiteAppId","lst","flst","eligibleAzureADLogSources","eligibleDefenderLogSources","eligibleOffice365LogSources","retries","servicePrincipals","listServicePrincipals","Promise","r","setTimeout","prerequisiteAppIds","servicePrincipal","sp","isAzureAdDisabled","account_enabled","disabled_by_microsoft_status","AzureAdDisabledAppRoles","app_roles","ar","isDefenderDisabled","DefenderDisabledAppRoles","isO365Disabled","Office365DisabledAppRoles","services","gridData","data","s","includes","PrerequisiteAppId","total","beginConsent","authService","sessionService","history","session","status","roles","switchAccount","end","loginRedirect","prompt","ElementRef","EventEmitter","moment","horizontal","vertical","getTimezones","guessedTimezone","timezones","tz","guess","inHoursTimezone","offset","escalationDetail","in_hours_utc_offset","addControl","pass_phrase","getDateFromTimeParts","in_hours_start_time","in_hours_end_time","addValidators","startTimeBeforeEnd","primaryContactType","contactTypes","disabled","selectedContactTypes","contactType","supportType","supportTypes","contact","escalationContacts","c","contact_type_id","support_type_id","NAME_REGEX","phone","PHONE_REGEX","disable","submitForm","passphrase","format","escalationContact","ec","emit","names","offsetTmz","currentDate","display","replace","offsetMinutes","utcOffset","f","t","dates","timeString","timeParts","Date","setHours","Number","addContact","nextType","removeContact","lastType","pop","removeControl","ngOnChanges","changes","enable","mouseEnter","event","contains","target","showPasswordTip","mouseLeave","anchor","nativeElement","popup","viewQuery","contactTypeService","supportTypeService","allContactTypes","allSupportTypes","all","queryParamMap","initError","isDisabled","restartRegistration","copyrightYear","getFullYear","isLoggedIn","getActiveUsername","getActiveUsersName","toggle","toggleSideBar","logout","isExpired","logSourceService","registrations","hasExpiredTrial","is_trial","trial_expiration","interval","setInterval","fetchLogSourceDetails","pollIntervalSeconds","logSourceWrappers","lsw","getLogSourcesForPrerequisiteAppId","logSourceWrappersByAppId","log_source","isAllHealthy","isActivityFeedHealthy","isDefenderHealthy","isDefenderCloudAppsHealthy","logSource","registration_id","existingLogSourceWrapper","last_retrieved","is_healthy","required_permissions","reportDefinitionService","paramMap","definition","patchValue","edit","filename","fileBase64","onFileSelected","evt","file","files","reader","FileReader","readAsBinaryString","onload","base64","btoa","result","toString","updateFile","ViewContainerRef","GridComponent","PageRequest","KendoGridHelper","field","dir","skip","take","kendoHelper","ngAfterViewInit","getData","emitSearch","searchData","searchQuery","gridState","getSortString","request","order_by","page_number","page_size","where","getFullFilterString","response","search","total_count","onStateChange","confirmDelete","reportDefinitionId","deleteConfirmationOpen","idToDelete","cancelDelete","delete","view","download","blob","url","URL","createObjectURL","link","document","createElement","href","click","revokeObjectURL","showFileValidationMessage","add","position","width","height","reportServiceUrl","reportSource","report","parameters","notificationService","Admin","adminSearch","resend","appendTo","notificationAnchor","content","animation","type","duration","icon","confirmationOpen","confirm","cancel","Member","idToResend","resendConfirmationOpen","confirmResend","daysBetween","endDate","ONE_DAY","Math","round","abs","getTime","Roles","sanitizer","sessionObservable$","isAdmin","isMember","hangfireUrl","bypassSecurityTrustResourceUrl","inputs","logTypeService","escalationDetailService","escalationContactService","text","trialOptions","adminFetch","escalationDetails","fetchMultiple","listForProperty","is_complete","trialLengthIndex","findIndex","to","trial_length","selectedTrialOption","copyTenantId","clipboard","writeText","toggleLogSource","save","toggleTrial","action","trialDate","setDate","getDate","updateTrial","extendTrial","setUTCDate","getUTCDate","ConsentInformation","ServicePrincipal","AppRole","EntityBase","SearchRequest","AdminRoutingModule","forChild","RoleGuard","forRoles","PostloginRoutingModule","ActiveUserService","tenantUserMatch","userOnlyMatch","factory","providedIn","httpBackend","hostname","location","http","test","environment","log","configObject","ApplicationInsights","AppInsightsService","appInsights","instrumentationKey","appInsightsKey","enableAutoRouteTracking","loadAppInsights","logPageView","trackPageView","uri","properties","trackEvent","logMetric","average","trackMetric","logException","exception","severityLevel","trackException","logTrace","trackTrace","userId","accountId","setAuthenticatedUserContext","BaseApiService","AutoGeneratedApiService","_http","serviceName","baseServiceUrl","post","ids","deleteMultiple","body","model","saveMultiple","page","orderBy","pageSize","listForMultipleProperty","pluralName","headers","ContactTypeService","EscalationContactService","EscalationDetailService","getDataFieldName","propertyName","getFilterString","operator","getMonth","getDateOperator","getNumericOperator","trimmedValue","trim","getStringOperator","sorts","undefined","filters","compositeFilter","j","singleFilter","logic","getSearchFilter","columns","searchFilter","column","columnComponent","getPageApiWhereClause","gridFilter","gridColumns","searchText","getDateEqualsDateTimeClause","equals","nextDay","toISOString","fitColumns","grid","autoFitColumns","tableWidth","querySelector","offsetWidth","contentWidth","emailColumn","lastColumn","availableWidth","scrollbarWidth","minResizableWidth","BehaviorSubject","loadingSubject$","asObservable","next","LogSourceService","start","stop","LogSourceTypeService","RegistrationService","identifier","escalation_detail","escalation_contacts","existingCompanyCode","email_address","existing_company_code","service_type","expiration","trialLength","origin","formData","ReportDefinitionService","put","responseType","InjectionToken","inject","Router","SessionService","AuthError","RoleCheck","childRoute","acquireTokenSilent","HttpResponse","throwError","catchError","injector","intercept","req","startsWith","handle","pipe","handleUnauthorizedResponse","ReplaySubject","sessionSubject$","SideBarService","toggleSubject$","SupportTypeService","TenantService","listSkus","listSkusForTenant","listServicePrincipalsForTenant","production","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","catch"],"sourceRoot":"webpack:///","x_google_ignoreList":[85]}