import { Injectable } from '@angular/core'; import { Resolve } from '@angular/router'; import { AdHocReportingUI } from '@core/typings/ui/ad-hoc-reporting.typing'; import { EmployeeSSOFieldsService } from '@features/employee-sso-fields/employee-sso-fields.service'; import { ReferenceFieldsResolver } from '@features/reference-fields/reference-fields.resolver'; import { AdHocReportingDefinitions } from '@features/reporting/services/ad-hoc-reporting-definitions.service'; import { AdHocReportingService } from '@features/reporting/services/ad-hoc-reporting.service'; @Injectable({ providedIn: 'root' }) export class InsertTokenResolver implements Resolve { constructor ( private employeeSSOFieldsService: EmployeeSSOFieldsService, private adHocReportingDefinitions: AdHocReportingDefinitions, private referenceFieldsResolver: ReferenceFieldsResolver, private adHocService: AdHocReportingService ) { } async resolve () { await Promise.all([ this.employeeSSOFieldsService.setEmployeeSSOFields(), this.referenceFieldsResolver.resolve() ]); this.adHocService.setApplicationTokenGroups( AdHocReportingUI.Usage.TOKENS ); this.adHocReportingDefinitions.setApplicantColumnsForReporting(); } }