diff --git a/CHANGELOG.md b/CHANGELOG.md index a86575b0b..d448b2c9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Fixed + +- Fixed the redaction of `fee`, `quantity`, `value` and `valueInBaseCurrency` in the latest activities of the public page (experimental) + ## 3.63.0 - 2026-08-28 ### Added diff --git a/apps/api/src/app/endpoints/public/public.service.ts b/apps/api/src/app/endpoints/public/public.service.ts index 246f437f3..d86f1f0d8 100644 --- a/apps/api/src/app/endpoints/public/public.service.ts +++ b/apps/api/src/app/endpoints/public/public.service.ts @@ -81,25 +81,34 @@ export class PublicService { }) ]); - const { activities } = await this.activitiesService.getActivities({ - filters, - sortColumn: 'date', - sortDirection: 'desc', - take: 10, - types: [ActivityType.BUY, ActivityType.SELL], - userCurrency: user?.settings?.settings.baseCurrency ?? DEFAULT_CURRENCY, - userId: user.id, - withExcludedAccountsAndActivities: false - }); - // Experimental - const latestActivities = this.configurationService.get( - 'ENABLE_FEATURE_SUBSCRIPTION' - ) - ? [] - : activities.map( - ({ - assetProfile, + let latestActivities: PublicPortfolioResponse['latestActivities'] = []; + + if (!this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) { + const { activities } = await this.activitiesService.getActivities({ + filters, + sortColumn: 'date', + sortDirection: 'desc', + take: 10, + types: [ActivityType.BUY, ActivityType.SELL], + userCurrency: user?.settings?.settings.baseCurrency ?? DEFAULT_CURRENCY, + userId: user.id, + withExcludedAccountsAndActivities: false + }); + + latestActivities = activities.map( + ({ + assetProfile, + currency, + date, + fee, + quantity, + type, + unitPrice, + value, + valueInBaseCurrency + }) => { + return { currency, date, fee, @@ -107,21 +116,17 @@ export class PublicService { type, unitPrice, value, - valueInBaseCurrency - }) => { - return { - assetProfile, - currency, - date, - fee, - quantity, - type, - unitPrice, - value, - valueInBaseCurrency - }; - } - ); + valueInBaseCurrency, + assetProfile: { + currency: assetProfile.currency, + dataSource: assetProfile.dataSource, + name: assetProfile.name, + symbol: assetProfile.symbol + } + }; + } + ); + } Object.values(markets ?? {}).forEach((market) => { delete market.valueInBaseCurrency; diff --git a/apps/api/src/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor.ts b/apps/api/src/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor.ts index 81aabf4ae..cbe5b4363 100644 --- a/apps/api/src/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor.ts +++ b/apps/api/src/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor.ts @@ -89,6 +89,7 @@ export class TransformDataSourceInResponseInterceptor< 'holdings[*].assetProfile.dataSource', 'holdings[*].dataSource', 'items[*].dataSource', + 'latestActivities[*].assetProfile.dataSource', 'settings["filters.dataSource"]', 'watchlist[*].dataSource' ] diff --git a/libs/common/src/lib/config.ts b/libs/common/src/lib/config.ts index f90d1e663..4513c175f 100644 --- a/libs/common/src/lib/config.ts +++ b/libs/common/src/lib/config.ts @@ -157,6 +157,10 @@ export const DEFAULT_REDACTED_PATHS = [ 'holdings[*].valueInBaseCurrency', 'interestInBaseCurrency', 'investmentInBaseCurrencyWithCurrencyEffect', + 'latestActivities[*].fee', + 'latestActivities[*].quantity', + 'latestActivities[*].value', + 'latestActivities[*].valueInBaseCurrency', 'netPerformance', 'netPerformanceWithCurrencyEffect', 'platforms[*].balance', diff --git a/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts b/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts index 65ccf7646..ce4bc2817 100644 --- a/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts @@ -24,7 +24,10 @@ export interface PublicPortfolioResponse extends PublicPortfolioResponseV1 { Order, 'currency' | 'date' | 'fee' | 'quantity' | 'type' | 'unitPrice' > & { - assetProfile?: EnhancedAssetProfile; + assetProfile: Pick< + EnhancedAssetProfile, + 'currency' | 'dataSource' | 'name' | 'symbol' + >; value: number; valueInBaseCurrency: number; })[];