@bi8/am-uaa
Version:
ng update @angular/cli yarn add @angular/cli
48 lines (45 loc) • 1.7 kB
text/typescript
import {Inject, NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {UaaEventService} from './uaa.event.service';
import {IdentityResolver} from './identity.resolver';
import {HTTP_INTERCEPTORS, HttpClient} from '@angular/common/http';
import {UaaInterceptor} from './uaa.session.interceptor';
import {UaaJwtService} from './uaa.jwt.service';
import {StorageService} from '@bi8/am-storage';
import {UaaSessionService} from './uaa.session.service';
import {UaaService} from './uaa.service';
import {UaaConfigService} from './uaa.config.service';
import {UaaJwtInterceptor} from './uaa.jwt.interceptor';
import {JwtService} from './jwt.service';
@NgModule({
imports: [
CommonModule,
],
providers: [UaaEventService, IdentityResolver, UaaConfigService, JwtService, {
provide: HTTP_INTERCEPTORS,
useClass: UaaInterceptor,
multi: true,
}, {
provide: HTTP_INTERCEPTORS,
useClass: UaaJwtInterceptor,
multi: true,
},
{
provide: UaaService,
useFactory: uaaServiceFactory,
deps: [UaaConfigService, HttpClient, StorageService, UaaEventService, JwtService],
multi: false
}],
declarations: []
})
export class AmUaaModule {
}
export function uaaServiceFactory(configService: UaaConfigService, hc: HttpClient,
storageService: StorageService, uaaEventService: UaaEventService,
jwtService: JwtService) {
if (!configService.useJwt) {
return new UaaSessionService(hc, storageService, uaaEventService);
} else {
return new UaaJwtService(hc, storageService, uaaEventService, jwtService);
}
}