42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import { ApplicationConfig, provideExperimentalZonelessChangeDetection } from '@angular/core';
|
|
import { provideRouter } from '@angular/router';
|
|
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
|
|
import { routes } from './app.routes';
|
|
import { provideHttpClient, withInterceptors } from '@angular/common/http';
|
|
import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
|
|
import { OAuthStorage, provideOAuthClient } from 'angular-oauth2-oidc';
|
|
import { httpInterceptor } from './shared/interceptor/http.interceptor';
|
|
|
|
function storageFactory() {
|
|
return new class implements OAuthStorage {
|
|
private data: { [key: string]: string } = {};
|
|
|
|
getItem(key: string): string | null {
|
|
return this.data[key];
|
|
}
|
|
|
|
removeItem(key: string): void {
|
|
delete this.data[key]
|
|
}
|
|
|
|
setItem(key: string, data: string): void {
|
|
this.data[key] = data;
|
|
}
|
|
}
|
|
}
|
|
|
|
export const appConfig: ApplicationConfig = {
|
|
providers: [
|
|
provideRouter(routes),
|
|
FontAwesomeModule,
|
|
provideHttpClient(withInterceptors([httpInterceptor])),
|
|
provideExperimentalZonelessChangeDetection(),
|
|
provideAnimationsAsync(),
|
|
provideOAuthClient(),
|
|
{
|
|
provide: OAuthStorage,
|
|
useFactory: () => storageFactory(),
|
|
}
|
|
],
|
|
};
|