From c1d33303aa11da3b3e150c6717d77ef484a16ac1 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Fri, 15 May 2020 17:17:24 +0200 Subject: [PATCH] feat: add backend toggle --- src/app/app.module.ts | 32 ++++++++++++++------------- src/app/modules/data/data.provider.ts | 3 ++- src/environments/environment.prod.ts | 1 + src/environments/environment.ts | 1 + src/environments/environment.web.ts | 1 + 5 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 5a0b2cf9..5ef16812 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -15,7 +15,7 @@ import {CommonModule, HashLocationStrategy, LocationStrategy, registerLocaleData} from '@angular/common'; import {HttpClient} from '@angular/common/http'; import localeDe from '@angular/common/locales/de'; -import {NgModule} from '@angular/core'; +import {NgModule, Provider} from '@angular/core'; import {BrowserModule} from '@angular/platform-browser'; import {RouteReuseStrategy} from '@angular/router'; import {SplashScreen} from '@ionic-native/splash-screen/ngx'; @@ -31,6 +31,7 @@ import {DataModule} from './modules/data/data.module'; import {MenuModule} from './modules/menu/menu.module'; import {SettingsModule} from './modules/settings/settings.module'; import {StorageModule} from './modules/storage/storage.module'; +import {environment} from './../environments/environment'; registerLocaleData(localeDe); @@ -43,6 +44,19 @@ export function createTranslateLoader(http: HttpClient) { return new TranslateHttpLoader(http, './assets/i18n/', '.json'); } +const providers : Provider[] = [ + StatusBar, + SplashScreen, + { + provide: RouteReuseStrategy, + useClass: IonicRouteStrategy, + }, + { + provide: LocationStrategy, + useClass: HashLocationStrategy, + }, +]; + /** * TODO */ @@ -67,19 +81,7 @@ export function createTranslateLoader(http: HttpClient) { }, }), ], - providers: [ - // use fake backend in place of Http service for backendless development - fakeBackendProvider, - StatusBar, - SplashScreen, - { - provide: RouteReuseStrategy, - useClass: IonicRouteStrategy, - }, - { - provide: LocationStrategy, - useClass: HashLocationStrategy, - }, - ], + providers: + environment.use_fake_backend ? [providers, fakeBackendProvider] : providers, }) export class AppModule {} diff --git a/src/app/modules/data/data.provider.ts b/src/app/modules/data/data.provider.ts index a6d4e28a..b7535042 100644 --- a/src/app/modules/data/data.provider.ts +++ b/src/app/modules/data/data.provider.ts @@ -18,6 +18,7 @@ import {SCSearchQuery, SCSearchResponse, SCThingOriginType, SCThings, SCThingTyp import {SCSaveableThing} from '@openstapps/core'; import {StorageProvider} from '../storage/storage.provider'; import {StAppsWebHttpClient} from './stapps-web-http-client.provider'; +import {environment} from './../../../environments/environment'; export enum DataScope { Local = 'local', @@ -45,7 +46,7 @@ export class DataProvider { /** * TODO */ - backendUrl = 'http://localhost:3000'; + backendUrl = environment.backend_url; /** * TODO */ diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index f3512ab4..5104ffe0 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -15,5 +15,6 @@ export const environment = { backend_url: 'http://localhost:3000', backend_version: '1.0.0', + use_fake_backend: false, production: true, }; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 7ecd7f19..361a420b 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -19,6 +19,7 @@ export const environment = { backend_url: 'http://localhost:3000', backend_version: '1.0.0', + use_fake_backend: false, production: false, }; diff --git a/src/environments/environment.web.ts b/src/environments/environment.web.ts index f3512ab4..da306246 100644 --- a/src/environments/environment.web.ts +++ b/src/environments/environment.web.ts @@ -15,5 +15,6 @@ export const environment = { backend_url: 'http://localhost:3000', backend_version: '1.0.0', + use_fake_backend: true, production: true, };