diff --git a/CHANGELOG.md b/CHANGELOG.md index f46976a8..1fd31d81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Added the asset profile count per data provider to the endpoint `GET api/v1/admin` + ### Changed - Improved the language localization for Catalan (`ca`) diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts index 79beedea..e4c50c1f 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 { + dataProviders, settings, transactionCount, userCount, - dataProviders: dataSources.map((dataSource) => { - return this.dataProviderService - .getDataProvider(dataSource) - .getDataProviderInfo(); - }), 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 dba85d3e..cef98390 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;