1 import {Injectable} from '@angular/core';
2 import {Router, Resolve, RouterStateSnapshot,
3 ActivatedRouteSnapshot} from '@angular/router';
4 import {IdlService} from '@eg/core/idl.service';
5 import {OrgService} from '@eg/core/org.service';
6 import {LocaleService} from '@eg/core/locale.service';
7 import {PcrudService} from '@eg/core/pcrud.service';
9 // For locale application
13 export class BaseResolver implements Resolve<Promise<void>> {
16 private router: Router,
17 private idl: IdlService,
18 private org: OrgService,
19 private pcrud: PcrudService,
20 private locale: LocaleService
24 * Loads pre-auth data common to all applications.
25 * No auth token is available at this level. When needed, auth is
26 * enforced by application/group-specific resolvers at lower levels.
29 route: ActivatedRouteSnapshot,
30 state: RouterStateSnapshot): Promise<void> {
32 OpenSRF.locale = this.locale.currentLocaleCode();
35 this.pcrud.setAuthoritative();
37 return this.org.fetchOrgs();