158 lines
3.9 KiB
TypeScript
158 lines
3.9 KiB
TypeScript
import {
|
|
UserGuard,
|
|
AgentGuard,
|
|
AdminGuard,
|
|
AdminOrAgentGuard,
|
|
XMabsutApiSdkModule,
|
|
X_MABSUT_API_SDK_CONFIG,
|
|
XPushTokenFetcherService,
|
|
} from 'x-mabsut-api-sdk';
|
|
import {
|
|
XCanDeactivateGuard,
|
|
XFrameworkCoreModule,
|
|
X_FRAMEWORK_CORE_CONFIG,
|
|
} from 'x-framework-core';
|
|
import {
|
|
XManagerService,
|
|
XFrameworkServicesModule,
|
|
X_FRAMEWORK_SERVICES_CONFIG,
|
|
} from 'x-framework-services';
|
|
import {
|
|
XFrameworkComponentsModule,
|
|
X_FRAMEWORK_COMPONENTS_CONFIG,
|
|
} from 'x-framework-components';
|
|
import {
|
|
AuthGuard,
|
|
X_API_CONFIG,
|
|
NotAuthGuard,
|
|
ApiHttpInterceptorService,
|
|
XFrameworkIdentitySdkModule,
|
|
X_FRAMEWORK_IDENTITY_SDK_CONFIG,
|
|
} from 'x-framework-identity-sdk';
|
|
import {
|
|
XFrameworkPushServiceModule,
|
|
X_FRAMEWORK_PUSH_SERVICE_CONFIG,
|
|
X_FRAMEWORK_PUSH_SERVICE_TOKEN_FETCHER,
|
|
} from 'x-framework-push-service';
|
|
import { NgModule } from '@angular/core';
|
|
import { AppComponent } from './app.component';
|
|
import { HomePage } from './pages/home/home.page';
|
|
import { ViewsModule } from './views/views.module';
|
|
import { XAPI_CONFIG } from './config/x-api.config';
|
|
import { ErrorPage } from './pages/error/error.page';
|
|
import { RouteReuseStrategy } from '@angular/router';
|
|
import { X_CONFIG, XCONFIG } from './config/x.config';
|
|
import { SharedModule } from './shared/shared.module';
|
|
import { AppRoutingModule } from './app-routing.module';
|
|
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
import { BrowserModule } from '@angular/platform-browser';
|
|
import { environment } from '../environments/environment';
|
|
import { StartupPage } from './pages/startup/startup.page';
|
|
import { LandingPage } from './pages/landing/landing.page';
|
|
import { ServiceWorkerModule } from '@angular/service-worker';
|
|
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
|
|
import { NotAuthorizedPage } from './pages/not-authorized/not-authorized.page';
|
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
|
|
@NgModule({
|
|
declarations: [
|
|
HomePage,
|
|
ErrorPage,
|
|
StartupPage,
|
|
LandingPage,
|
|
AppComponent,
|
|
NotAuthorizedPage,
|
|
],
|
|
imports: [
|
|
ViewsModule,
|
|
SharedModule,
|
|
BrowserModule,
|
|
AppRoutingModule,
|
|
XMabsutApiSdkModule,
|
|
XFrameworkCoreModule,
|
|
IonicModule.forRoot(),
|
|
BrowserAnimationsModule,
|
|
XFrameworkServicesModule,
|
|
XFrameworkComponentsModule,
|
|
XFrameworkPushServiceModule,
|
|
XFrameworkIdentitySdkModule,
|
|
ServiceWorkerModule.register('ngsw-worker.js', {
|
|
enabled: environment.production,
|
|
}),
|
|
],
|
|
providers: [
|
|
//
|
|
// Ionic Routing ...
|
|
{
|
|
provide: RouteReuseStrategy,
|
|
useClass: IonicRouteStrategy,
|
|
},
|
|
//
|
|
// Manager Service ...
|
|
XManagerService,
|
|
//
|
|
// Provide Guards ...
|
|
AuthGuard,
|
|
UserGuard,
|
|
AdminGuard,
|
|
AgentGuard,
|
|
NotAuthGuard,
|
|
AdminOrAgentGuard,
|
|
XCanDeactivateGuard,
|
|
//
|
|
//#region Configs ...
|
|
{
|
|
provide: X_FRAMEWORK_CORE_CONFIG,
|
|
useValue: XCONFIG,
|
|
},
|
|
{
|
|
provide: X_FRAMEWORK_SERVICES_CONFIG,
|
|
useValue: XCONFIG,
|
|
},
|
|
{
|
|
provide: X_FRAMEWORK_COMPONENTS_CONFIG,
|
|
useValue: XCONFIG,
|
|
},
|
|
{
|
|
provide: X_FRAMEWORK_IDENTITY_SDK_CONFIG,
|
|
useValue: XCONFIG,
|
|
},
|
|
{
|
|
provide: X_FRAMEWORK_PUSH_SERVICE_CONFIG,
|
|
useValue: XCONFIG,
|
|
},
|
|
{
|
|
provide: X_MABSUT_API_SDK_CONFIG,
|
|
useValue: XCONFIG,
|
|
},
|
|
{
|
|
provide: X_API_CONFIG,
|
|
useValue: XAPI_CONFIG,
|
|
},
|
|
{
|
|
provide: X_CONFIG,
|
|
useValue: XCONFIG,
|
|
},
|
|
//#endregion
|
|
|
|
//
|
|
//#region Push ...
|
|
{
|
|
provide: X_FRAMEWORK_PUSH_SERVICE_TOKEN_FETCHER,
|
|
useClass: XPushTokenFetcherService,
|
|
},
|
|
//#endregion
|
|
|
|
//
|
|
//#region Register Http Interceptor ...
|
|
{
|
|
provide: HTTP_INTERCEPTORS,
|
|
useClass: ApiHttpInterceptorService,
|
|
multi: true,
|
|
},
|
|
//#endregion
|
|
],
|
|
bootstrap: [AppComponent],
|
|
})
|
|
export class AppModule { }
|