import { Injectable } from '@angular/core'; import { Resolve } from '@angular/router'; import { FormsResolver } from '@features/configure-forms/resolvers/forms.resolver'; import { InKindResolver } from '@features/in-kind/resolvers/in-kind.resolver'; import { ReferenceFieldsResolver } from '@features/reference-fields/reference-fields.resolver'; import { EmailResolver } from '@features/system-emails/resolvers/email.resolver'; import { MyWorkflowManagerRolesResolver } from '@features/workflow/resolvers/my-workflow-manager-roles.resolver'; @Injectable({ providedIn: 'root' }) export class FormManagerResolver implements Resolve { constructor ( private emailResolver: EmailResolver, private formsResolver: FormsResolver, private myWorkflowManagerRolesResolver: MyWorkflowManagerRolesResolver, private referenceFieldsResolver: ReferenceFieldsResolver, private inKindResolver: InKindResolver ) { } async resolve () { await Promise.all([ this.emailResolver.resolve(), this.formsResolver.resolve(), this.myWorkflowManagerRolesResolver.resolve(), this.inKindResolver.resolve(), this.referenceFieldsResolver.resolve() ]); } }