From b75ebb2c1d6ff3885f38e4554e33a5889edcecfd Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 25 Aug 2026 11:59:59 +0200 Subject: [PATCH 1/3] Bugfix/country mapping of Macau in FMP service (#7719) * Fix country mapping of Macau * Update changelog --- CHANGELOG.md | 4 ++++ .../financial-modeling-prep.service.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e1a45cd7..d9e51a5d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Migrated the create and edit access dialogs to dedicated routes +### Fixed + +- Fixed the country mapping of Macau in the _Financial Modeling Prep_ service + ## 3.60.0 - 2026-08-24 ### Added diff --git a/apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts b/apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts index c768de070..648ec5fe1 100644 --- a/apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts +++ b/apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts @@ -56,6 +56,7 @@ export class FinancialModelingPrepService private static countriesMapping = { 'Czech Republic': 'CZ', 'Korea (the Republic of)': 'KR', + Macau: 'MO', 'Russian Federation': 'RU', 'Taiwan (Province of China)': 'TW', Turkey: 'TR' From 0d0ed972271e2d2e451576678203153a1e64f94b Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 25 Aug 2026 12:43:49 +0200 Subject: [PATCH 2/3] Bugfix/response of historical market data gathering for a specific date (#7717) * Fix response of historical market data gathering for a specific date * Update changelog --- CHANGELOG.md | 1 + apps/api/src/app/admin/admin.controller.ts | 11 ++++++- .../data-gathering.service.spec.ts | 29 +++++++++++++++++++ .../data-gathering/data-gathering.service.ts | 6 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9e51a5d0..2bc214815 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Migrated the create and edit access dialogs to dedicated routes +- Improved the response of the historical market data gathering endpoint for a specific date ### Fixed diff --git a/apps/api/src/app/admin/admin.controller.ts b/apps/api/src/app/admin/admin.controller.ts index ade8781d6..f47d216f4 100644 --- a/apps/api/src/app/admin/admin.controller.ts +++ b/apps/api/src/app/admin/admin.controller.ts @@ -213,11 +213,20 @@ export class AdminController { ); } - return this.dataGatheringService.gatherSymbolForDate({ + const marketData = await this.dataGatheringService.gatherSymbolForDate({ dataSource, date, symbol }); + + if (!marketData) { + throw new HttpException( + getReasonPhrase(StatusCodes.NOT_FOUND), + StatusCodes.NOT_FOUND + ); + } + + return marketData; } @HasPermission(permissions.accessAdminControl) diff --git a/apps/api/src/services/queues/data-gathering/data-gathering.service.spec.ts b/apps/api/src/services/queues/data-gathering/data-gathering.service.spec.ts index 51bf9ef6a..7830d428e 100644 --- a/apps/api/src/services/queues/data-gathering/data-gathering.service.spec.ts +++ b/apps/api/src/services/queues/data-gathering/data-gathering.service.spec.ts @@ -219,5 +219,34 @@ describe('DataGatheringService', () => { }) ); }); + + it('returns the upserted market data', async () => { + dataProviderService.getHistoricalRaw.mockResolvedValue({ + 'YAHOO-AAPL': { + '2026-08-22': { marketPrice: 100 } + } + }); + prismaService.marketData.upsert.mockResolvedValue({ marketPrice: 100 }); + + const marketData = await dataGatheringService.gatherSymbolForDate({ + dataSource: 'YAHOO', + date: parseDate('2026-08-22'), + symbol: 'AAPL' + }); + + expect(marketData).toEqual({ marketPrice: 100 }); + }); + + it('returns undefined if the data provider has no market price', async () => { + dataProviderService.getHistoricalRaw.mockResolvedValue({}); + + const marketData = await dataGatheringService.gatherSymbolForDate({ + dataSource: 'YAHOO', + date: parseDate('2026-08-22'), + symbol: 'AAPL' + }); + + expect(marketData).toBeUndefined(); + }); }); }); diff --git a/apps/api/src/services/queues/data-gathering/data-gathering.service.ts b/apps/api/src/services/queues/data-gathering/data-gathering.service.ts index 531f36f0d..010fe5f90 100644 --- a/apps/api/src/services/queues/data-gathering/data-gathering.service.ts +++ b/apps/api/src/services/queues/data-gathering/data-gathering.service.ts @@ -348,10 +348,10 @@ export class DataGatheringService { }); } } catch (error) { - this.logger.error(error.message); - } finally { - return undefined; + this.logger.error(error?.message); } + + return undefined; } public async gatherSymbols({ From 31096669720cb2edb12475e5de26e6310e158ca0 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 25 Aug 2026 12:44:59 +0200 Subject: [PATCH 3/3] Task/improve access table (#7718) * Improve icons and labels of access table * Update changelog --- CHANGELOG.md | 1 + .../components/access-table/access-table.component.html | 7 ++++--- .../app/components/access-table/access-table.component.ts | 6 ++++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bc214815..653cae509 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Harmonized the icons and labels in the access table to share the portfolio - Migrated the create and edit access dialogs to dedicated routes - Improved the response of the historical market data gathering endpoint for a specific date diff --git a/apps/client/src/app/components/access-table/access-table.component.html b/apps/client/src/app/components/access-table/access-table.component.html index c6e504d6c..15c0794ab 100644 --- a/apps/client/src/app/components/access-table/access-table.component.html +++ b/apps/client/src/app/components/access-table/access-table.component.html @@ -15,7 +15,7 @@ } @else if (element.type === 'PUBLIC') { Public } @else if (element.type === 'MCP') { - MCP + Model Context Protocol (MCP) } @@ -112,10 +112,11 @@ }