@accounter/server
Version:
Accounter GraphQL server
25 lines (24 loc) • 1.08 kB
TypeScript
import DataLoader from 'dataloader';
import { Currency } from '../../../shared/enums.js';
import { AdminContextProvider } from '../../admin-context/providers/admin-context.provider.js';
import { CoinMarketCapProvider } from '../../app-providers/coinmarketcap.js';
import { TenantAwareDBClient } from '../../app-providers/tenant-db-client.js';
import { IGetRateByCurrencyAndDateResult } from '../types.js';
export declare class CryptoExchangeProvider {
private db;
private adminContextProvider;
private coinMarketCap;
constructor(db: TenantAwareDBClient, adminContextProvider: AdminContextProvider, coinMarketCap: CoinMarketCapProvider);
private getCryptoExchangeRatesFromDB;
private addRates;
private addCryptoRateLoader;
private getCryptoCurrenciesBySymbol;
private getCryptoCurrenciesBySymbolLoader;
private getCryptoExchangeRatesFromAPI;
getCryptoExchangeRateLoader: DataLoader<{
cryptoCurrency: string;
date: Date;
against?: Currency;
}, IGetRateByCurrencyAndDateResult, string>;
clearCache(): void;
}