1 import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';
2 import { CommonModule } from '@angular/common';
3 import { NbAuthModule, NbEmailPassAuthProvider } from '@nebular/auth';
5 import { throwIfAlreadyLoaded } from './module-import-guard';
6 import { DataModule } from './data/data.module';
7 import { AnalyticsService } from './utils/analytics.service';
8 import { SERVER_URL } from '../../../config';
9 import { AuthInterceptor } from './auth/auth-interceptor';
10 import { HTTP_INTERCEPTORS } from '@angular/common/http';
12 const NB_CORE_PROVIDERS = [
13 ...DataModule.forRoot().providers,
14 ...NbAuthModule.forRoot({
17 service: NbEmailPassAuthProvider,
22 baseEndpoint: SERVER_URL,
24 endpoint: '/auth/login',
26 success: '/home/dashboard',
30 endpoint: '/auth/register',
32 success: '/auth/login',
66 provide: HTTP_INTERCEPTORS,
67 useClass: AuthInterceptor,
72 export class CoreModule {
73 constructor( @Optional() @SkipSelf() parentModule: CoreModule) {
74 throwIfAlreadyLoaded(parentModule, 'CoreModule');
77 static forRoot(): ModuleWithProviders {
78 return <ModuleWithProviders>{