Browse Source

Task/restrict update of activity tags in impersonation mode (#7206)

* Restrict update of activity tags in impersonation mode

* Update changelog
pull/7199/head
Thomas Kaul 2 weeks ago
committed by GitHub
parent
commit
6d4845fa8d
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 3
      apps/api/src/app/portfolio/portfolio.controller.ts
  3. 6
      apps/api/src/app/portfolio/portfolio.service.ts

1
CHANGELOG.md

@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed ### Changed
- Restricted the modification of activity tags in the impersonation mode
- Hardened the endpoint of the public access for portfolio sharing by restricting it to public accesses - Hardened the endpoint of the public access for portfolio sharing by restricting it to public accesses
- Improved the language localization by translating various tooltips across the application - Improved the language localization by translating various tooltips across the application
- Improved the language localization for Ukrainian (`uk`) - Improved the language localization for Ukrainian (`uk`)

3
apps/api/src/app/portfolio/portfolio.controller.ts

@ -672,13 +672,11 @@ export class PortfolioController {
@UseGuards(AuthGuard('jwt'), HasPermissionGuard) @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
public async updateHoldingTags( public async updateHoldingTags(
@Body() data: UpdateHoldingTagsDto, @Body() data: UpdateHoldingTagsDto,
@Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId: string,
@Param('dataSource') dataSource: DataSource, @Param('dataSource') dataSource: DataSource,
@Param('symbol') symbol: string @Param('symbol') symbol: string
): Promise<void> { ): Promise<void> {
const holding = await this.portfolioService.getHolding({ const holding = await this.portfolioService.getHolding({
dataSource, dataSource,
impersonationId,
symbol, symbol,
userId: this.request.user.id userId: this.request.user.id
}); });
@ -692,7 +690,6 @@ export class PortfolioController {
await this.portfolioService.updateTags({ await this.portfolioService.updateTags({
dataSource, dataSource,
impersonationId,
symbol, symbol,
tags: data.tags, tags: data.tags,
userId: this.request.user.id userId: this.request.user.id

6
apps/api/src/app/portfolio/portfolio.service.ts

@ -777,7 +777,7 @@ export class PortfolioService {
symbol, symbol,
userId userId
}: { }: {
impersonationId: string; impersonationId?: string;
userId: string; userId: string;
} & AssetProfileIdentifier): Promise<PortfolioHoldingResponse> { } & AssetProfileIdentifier): Promise<PortfolioHoldingResponse> {
userId = await this.getUserId(impersonationId, userId); userId = await this.getUserId(impersonationId, userId);
@ -1377,17 +1377,13 @@ export class PortfolioService {
public async updateTags({ public async updateTags({
dataSource, dataSource,
impersonationId,
symbol, symbol,
tags, tags,
userId userId
}: { }: {
impersonationId: string;
tags: Tag[]; tags: Tag[];
userId: string; userId: string;
} & AssetProfileIdentifier) { } & AssetProfileIdentifier) {
userId = await this.getUserId(impersonationId, userId);
await this.activitiesService.assignTags({ await this.activitiesService.assignTags({
dataSource, dataSource,
symbol, symbol,

Loading…
Cancel
Save