diff --git a/apps/api/src/app/activities/activities.service.ts b/apps/api/src/app/activities/activities.service.ts index f8521f3f3..3627de912 100644 --- a/apps/api/src/app/activities/activities.service.ts +++ b/apps/api/src/app/activities/activities.service.ts @@ -393,41 +393,32 @@ export class ActivitiesService { types?: ActivityType[]; userId: string; }): Promise { - const activities = await this.prismaService.order.findMany({ - select: { - id: true, - symbolProfileId: true - }, - where: this.getWhereClause({ - endDate, - filters, - startDate, - types, - userId, - includeDrafts: true, - withExcludedAccountsAndActivities: true - }) + const where = this.getWhereClause({ + endDate, + filters, + startDate, + types, + userId, + includeDrafts: true, + withExcludedAccountsAndActivities: true }); - const { count } = await this.prismaService.order.deleteMany({ - where: { - id: { - in: activities.map(({ id }) => { - return id; - }) - } - } + const activities = await this.prismaService.order.findMany({ + where, + distinct: ['symbolProfileId'], + select: { symbolProfileId: true } }); - const symbolProfiles = - await this.symbolProfileService.getSymbolProfilesByIds( + const { count } = await this.prismaService.order.deleteMany({ where }); + + const [benchmarkAssetProfiles, symbolProfiles] = await Promise.all([ + this.benchmarkService.getBenchmarkAssetProfiles(), + this.symbolProfileService.getSymbolProfilesByIds( activities.map(({ symbolProfileId }) => { return symbolProfileId; }) - ); - - const benchmarkAssetProfiles = - await this.benchmarkService.getBenchmarkAssetProfiles(); + ) + ]); for (const { activitiesCount,