Browse Source
Feature/respect watcher count in delete asset profile checkbox (#4609)
* Respect watchedByCount in delete asset profile checkbox
* Update changelog
pull/4611/head
Thomas Kaul
3 days ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with
21 additions and
7 deletions
-
CHANGELOG.md
-
apps/api/src/app/admin/admin.service.ts
-
apps/client/src/app/components/admin-market-data/admin-market-data.html
-
apps/client/src/app/components/admin-market-data/admin-market-data.service.ts
-
libs/common/src/lib/interfaces/admin-market-data.interface.ts
|
|
@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 |
|
|
|
|
|
|
|
- Improved the error message of the currency code validation |
|
|
|
- Tightened the currency code validation by requiring uppercase letters |
|
|
|
- Respected the watcher count for the delete asset profiles checkbox in the historical market data table of the admin control panel |
|
|
|
- Improved the language localization for Français (`fr`) |
|
|
|
- Upgraded `ngx-skeleton-loader` from version `10.0.0` to `11.0.0` |
|
|
|
- Upgraded `Nx` from version `20.8.0` to `20.8.1` |
|
|
|
|
|
@ -238,7 +238,10 @@ export class AdminService { |
|
|
|
where, |
|
|
|
select: { |
|
|
|
_count: { |
|
|
|
select: { Order: true } |
|
|
|
select: { |
|
|
|
Order: true, |
|
|
|
watchedBy: true |
|
|
|
} |
|
|
|
}, |
|
|
|
assetClass: true, |
|
|
|
assetSubClass: true, |
|
|
@ -375,7 +378,9 @@ export class AdminService { |
|
|
|
sectorsCount, |
|
|
|
activitiesCount: _count.Order, |
|
|
|
date: Order?.[0]?.date, |
|
|
|
isUsedByUsersWithSubscription: await isUsedByUsersWithSubscription |
|
|
|
isUsedByUsersWithSubscription: |
|
|
|
await isUsedByUsersWithSubscription, |
|
|
|
watchedByCount: _count.watchedBy |
|
|
|
}; |
|
|
|
} |
|
|
|
) |
|
|
@ -752,7 +757,8 @@ export class AdminService { |
|
|
|
id: undefined, |
|
|
|
isActive: true, |
|
|
|
name: symbol, |
|
|
|
sectorsCount: 0 |
|
|
|
sectorsCount: 0, |
|
|
|
watchedByCount: 0 |
|
|
|
}; |
|
|
|
} |
|
|
|
); |
|
|
|
|
|
@ -55,7 +55,8 @@ |
|
|
|
adminMarketDataService.hasPermissionToDeleteAssetProfile({ |
|
|
|
activitiesCount: element.activitiesCount, |
|
|
|
isBenchmark: element.isBenchmark, |
|
|
|
symbol: element.symbol |
|
|
|
symbol: element.symbol, |
|
|
|
watchedByCount: element.watchedByCount |
|
|
|
}) |
|
|
|
) { |
|
|
|
<mat-checkbox |
|
|
|
|
|
@ -72,14 +72,19 @@ export class AdminMarketDataService { |
|
|
|
public hasPermissionToDeleteAssetProfile({ |
|
|
|
activitiesCount, |
|
|
|
isBenchmark, |
|
|
|
symbol |
|
|
|
}: Pick<AdminMarketDataItem, 'activitiesCount' | 'isBenchmark' | 'symbol'>) { |
|
|
|
symbol, |
|
|
|
watchedByCount |
|
|
|
}: Pick< |
|
|
|
AdminMarketDataItem, |
|
|
|
'activitiesCount' | 'isBenchmark' | 'symbol' | 'watchedByCount' |
|
|
|
>) { |
|
|
|
return ( |
|
|
|
activitiesCount === 0 && |
|
|
|
!isBenchmark && |
|
|
|
!isDerivedCurrency(getCurrencyFromSymbol(symbol)) && |
|
|
|
!isRootCurrency(getCurrencyFromSymbol(symbol)) && |
|
|
|
!symbol.startsWith(ghostfolioScraperApiSymbolPrefix) |
|
|
|
!symbol.startsWith(ghostfolioScraperApiSymbolPrefix) && |
|
|
|
watchedByCount === 0 |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
@ -22,4 +22,5 @@ export interface AdminMarketDataItem { |
|
|
|
name: string; |
|
|
|
sectorsCount: number; |
|
|
|
symbol: string; |
|
|
|
watchedByCount: number; |
|
|
|
} |
|
|
|