From f25cac6473ae5da0fc04e481acbb753a2af85b8c Mon Sep 17 00:00:00 2001 From: Felix Jordan Date: Wed, 7 May 2025 06:26:32 -0700 Subject: [PATCH] Feature/update dataProviders to include assetProfileCount in AdminData interface #4667 --- apps/api/src/app/admin/admin.service.ts | 25 +++++++++++++++---- .../lib/interfaces/admin-data.interface.ts | 2 +- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts index 79beedea9..a7744976e 100644 --- a/apps/api/src/app/admin/admin.service.ts +++ b/apps/api/src/app/admin/admin.service.ts @@ -143,15 +143,30 @@ export class AdminService { this.countUsersWithAnalytics() ]); + const dataProviders = await Promise.all( + dataSources.map(async (dataSource) => { + const dataProviderInfo = this.dataProviderService + .getDataProvider(dataSource) + .getDataProviderInfo(); + + const assetProfileCount = await this.prismaService.symbolProfile.count({ + where: { + dataSource + } + }); + + return { + ...dataProviderInfo, + assetProfileCount + }; + }) + ); + return { settings, transactionCount, userCount, - dataProviders: dataSources.map((dataSource) => { - return this.dataProviderService - .getDataProvider(dataSource) - .getDataProviderInfo(); - }), + dataProviders, version: environment.version }; } diff --git a/libs/common/src/lib/interfaces/admin-data.interface.ts b/libs/common/src/lib/interfaces/admin-data.interface.ts index dba85d3ef..cef983902 100644 --- a/libs/common/src/lib/interfaces/admin-data.interface.ts +++ b/libs/common/src/lib/interfaces/admin-data.interface.ts @@ -1,7 +1,7 @@ import { DataProviderInfo } from './data-provider-info.interface'; export interface AdminData { - dataProviders: DataProviderInfo[]; + dataProviders: (DataProviderInfo & { assetProfileCount: number })[]; settings: { [key: string]: boolean | object | string | string[] }; transactionCount: number; userCount: number;