Browse Source
Merge branch 'main' into task/extend-account-endpoint-by-filters
pull/7748/head^2
Thomas Kaul
13 hours ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with
51 additions and
34 deletions
-
CHANGELOG.md
-
apps/api/src/app/endpoints/public/public.service.ts
-
apps/api/src/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor.ts
-
libs/common/src/lib/config.ts
-
libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts
|
|
|
@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 |
|
|
|
|
|
|
|
- Extended the `GET api/v1/account` endpoint by the filters `accounts`, `assetClasses` and `tags` |
|
|
|
|
|
|
|
### 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 |
|
|
|
|
|
|
|
@ -81,6 +81,10 @@ export class PublicService { |
|
|
|
}) |
|
|
|
]); |
|
|
|
|
|
|
|
// Experimental
|
|
|
|
let latestActivities: PublicPortfolioResponse['latestActivities'] = []; |
|
|
|
|
|
|
|
if (!this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) { |
|
|
|
const { activities } = await this.activitiesService.getActivities({ |
|
|
|
filters, |
|
|
|
sortColumn: 'date', |
|
|
|
@ -92,12 +96,7 @@ export class PublicService { |
|
|
|
withExcludedAccountsAndActivities: false |
|
|
|
}); |
|
|
|
|
|
|
|
// Experimental
|
|
|
|
const latestActivities = this.configurationService.get( |
|
|
|
'ENABLE_FEATURE_SUBSCRIPTION' |
|
|
|
) |
|
|
|
? [] |
|
|
|
: activities.map( |
|
|
|
latestActivities = activities.map( |
|
|
|
({ |
|
|
|
assetProfile, |
|
|
|
currency, |
|
|
|
@ -110,7 +109,6 @@ export class PublicService { |
|
|
|
valueInBaseCurrency |
|
|
|
}) => { |
|
|
|
return { |
|
|
|
assetProfile, |
|
|
|
currency, |
|
|
|
date, |
|
|
|
fee, |
|
|
|
@ -118,10 +116,17 @@ export class PublicService { |
|
|
|
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; |
|
|
|
|
|
|
|
@ -89,6 +89,7 @@ export class TransformDataSourceInResponseInterceptor< |
|
|
|
'holdings[*].assetProfile.dataSource', |
|
|
|
'holdings[*].dataSource', |
|
|
|
'items[*].dataSource', |
|
|
|
'latestActivities[*].assetProfile.dataSource', |
|
|
|
'settings["filters.dataSource"]', |
|
|
|
'watchlist[*].dataSource' |
|
|
|
] |
|
|
|
|
|
|
|
@ -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', |
|
|
|
|
|
|
|
@ -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; |
|
|
|
})[]; |
|
|
|
|