|
@ -409,30 +409,49 @@ export class AdminService { |
|
|
by: ['dataSource', 'symbol'] |
|
|
by: ['dataSource', 'symbol'] |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
const marketData: AdminMarketDataItem[] = this.exchangeRateDataService |
|
|
const marketDataPromise: Promise<AdminMarketDataItem>[] = |
|
|
.getCurrencyPairs() |
|
|
this.exchangeRateDataService |
|
|
.map(({ dataSource, symbol }) => { |
|
|
.getCurrencyPairs() |
|
|
const marketDataItemCount = |
|
|
.map(async ({ dataSource, symbol }) => { |
|
|
marketDataItems.find((marketDataItem) => { |
|
|
const currency = symbol.replace(DEFAULT_CURRENCY, ''); |
|
|
return ( |
|
|
|
|
|
marketDataItem.dataSource === dataSource && |
|
|
const { _count, _min } = await this.prismaService.order.aggregate({ |
|
|
marketDataItem.symbol === symbol |
|
|
_count: true, |
|
|
); |
|
|
_min: { |
|
|
})?._count ?? 0; |
|
|
date: true |
|
|
|
|
|
}, |
|
|
|
|
|
where: { |
|
|
|
|
|
SymbolProfile: { |
|
|
|
|
|
currency |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
return { |
|
|
const marketDataItemCount = |
|
|
dataSource, |
|
|
marketDataItems.find((marketDataItem) => { |
|
|
marketDataItemCount, |
|
|
return ( |
|
|
symbol, |
|
|
marketDataItem.dataSource === dataSource && |
|
|
assetClass: AssetClass.LIQUIDITY, |
|
|
marketDataItem.symbol === symbol |
|
|
countriesCount: 0, |
|
|
); |
|
|
currency: symbol.replace(DEFAULT_CURRENCY, ''), |
|
|
})?._count ?? 0; |
|
|
id: undefined, |
|
|
|
|
|
name: symbol, |
|
|
return { |
|
|
sectorsCount: 0 |
|
|
currency, |
|
|
}; |
|
|
dataSource, |
|
|
}); |
|
|
marketDataItemCount, |
|
|
|
|
|
symbol, |
|
|
|
|
|
activitiesCount: _count as number, |
|
|
|
|
|
assetClass: AssetClass.LIQUIDITY, |
|
|
|
|
|
assetSubClass: AssetSubClass.CASH, |
|
|
|
|
|
countriesCount: 0, |
|
|
|
|
|
date: _min.date, |
|
|
|
|
|
id: undefined, |
|
|
|
|
|
name: symbol, |
|
|
|
|
|
sectorsCount: 0 |
|
|
|
|
|
}; |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
const marketData = await Promise.all(marketDataPromise); |
|
|
return { marketData, count: marketData.length }; |
|
|
return { marketData, count: marketData.length }; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|