UNPKG

copay-crown

Version:

A Secure Crown Wallet

87 lines (79 loc) 2.27 kB
import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Logger } from '@nsalaun/ng-logger'; // providers import { ConfigProvider } from '../../providers/config/config'; import { LanguageProvider } from '../../providers/language/language'; import { PersistenceProvider } from '../../providers/persistence/persistence'; /* TODO: implement interface propertly interface App { packageName: string; packageDescription: string; packageNameId: string; themeColor: string; userVisibleName: string; purposeLine: string; bundleName: string; appUri: string; name: string; nameNoSpace: string; nameCase: string; nameCaseNoSpace: string; gitHubRepoName: string; gitHubRepoUrl: string; gitHubRepoBugs: string; disclaimerUrl: string; url: string; appDescription: string; winAppName: string; WindowsStoreIdentityName: string; WindowsStoreDisplayName: string; windowsAppId: string; pushSenderId: string; description: string; version: string; androidVersion: string; commitHash: string; _extraCSS: string; _enabledExtensions: any; }*/ @Injectable() export class AppProvider { public info: any; public servicesInfo: any; private jsonPathApp: string = 'assets/appConfig.json'; private jsonPathServices: string = 'assets/externalServices.json'; constructor( public http: HttpClient, private logger: Logger, private language: LanguageProvider, public config: ConfigProvider, private persistence: PersistenceProvider, ) { this.logger.info('AppProvider initialized.'); } public load(): Promise<any> { return new Promise((resolve, reject) => { this.persistence.load(); this.config.load().then(() => { this.language.load(); this.getServicesInfo().subscribe((infoServices) => { this.servicesInfo = infoServices; this.getInfo().subscribe((infoApp) => { this.info = infoApp; resolve(); }); }); }).catch((err) => { this.logger.error(err); reject(err); }); }); } private getInfo() { return this.http.get(this.jsonPathApp); } private getServicesInfo() { return this.http.get(this.jsonPathServices); } }