copay-crown
Version:
A Secure Crown Wallet
51 lines (40 loc) • 1.35 kB
text/typescript
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Logger } from '../../providers/logger/logger';
import * as _ from 'lodash';
const exchangeList:object[] = [{ 'name' : 'coinbase' }, { 'name' : 'glidera' }];
export class HomeIntegrationsProvider {
public services: any;
constructor(
public http: HttpClient,
private logger: Logger,
) {
this.logger.info('HomeIntegrationsProviders initialized.');
this.services = [];
}
public register(serviceInfo) {
// Check if already exists
if (_.find(this.services, { 'name': serviceInfo.name })) return;
this.logger.info('Adding home Integrations entry:' + serviceInfo.name);
this.services.push(serviceInfo);
}
public unregister(serviceName) {
this.services = _.filter(this.services, (x) => {
return x.name != serviceName
});
}
public update(serviceName, token) {
this.services = _.filter(this.services, (x) => {
if (x.name == serviceName) x.linked = !!token;
return x;
});
}
public get() {
return _.orderBy(this.services, ['name'], ['asc']);
}
public getAvailableExchange() {
let exchangeServices = _.intersectionBy(this.services, exchangeList, 'name');
return _.filter(exchangeServices, { 'linked':true, 'show':true });
}
}