Browse Source

Respect watchedByCount in delete asset profile checkbox

pull/4609/head
Thomas Kaul 4 months ago
parent
commit
2fa2c46754
  1. 12
      apps/api/src/app/admin/admin.service.ts
  2. 3
      apps/client/src/app/components/admin-market-data/admin-market-data.html
  3. 11
      apps/client/src/app/components/admin-market-data/admin-market-data.service.ts
  4. 1
      libs/common/src/lib/interfaces/admin-market-data.interface.ts

12
apps/api/src/app/admin/admin.service.ts

@ -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
};
}
);

3
apps/client/src/app/components/admin-market-data/admin-market-data.html

@ -55,7 +55,8 @@
adminMarketDataService.hasPermissionToDeleteAssetProfile({
activitiesCount: element.activitiesCount,
isBenchmark: element.isBenchmark,
symbol: element.symbol
symbol: element.symbol,
watchedByCount: element.watchedByCount
})
) {
<mat-checkbox

11
apps/client/src/app/components/admin-market-data/admin-market-data.service.ts

@ -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
);
}
}

1
libs/common/src/lib/interfaces/admin-market-data.interface.ts

@ -22,4 +22,5 @@ export interface AdminMarketDataItem {
name: string;
sectorsCount: number;
symbol: string;
watchedByCount: number;
}

Loading…
Cancel
Save