From fe8b96746e66191e4f125c48392145d7f9c089f9 Mon Sep 17 00:00:00 2001 From: South Drifter Date: Tue, 7 Jan 2025 19:08:47 +0000 Subject: [PATCH] [optimize] simplify View Entity definations of Check Event model --- src/model/CheckEvent.ts | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/src/model/CheckEvent.ts b/src/model/CheckEvent.ts index 0854d04..0e10d45 100644 --- a/src/model/CheckEvent.ts +++ b/src/model/CheckEvent.ts @@ -97,18 +97,12 @@ export class CheckEventChunk implements ListChunk { connection .createQueryBuilder() .from(CheckEvent, 'ce') - .groupBy('ce.user.id, ce.activityId') + .groupBy('ce.activityId') .select('ce.activityId', 'activityId') - .addSelect('ce.user.id', 'userId') .addSelect('ce.activityName', 'activityName') .addSelect('COUNT(ce.id)', 'checkCount') }) -export class UserActivityCheckInSummary { - @ViewColumn() - @IsInt() - @Min(1) - userId: number; - +export class ActivityCheckInSummary { @ViewColumn() @IsString() activityId: string; @@ -121,10 +115,6 @@ export class UserActivityCheckInSummary { @IsInt() @Min(0) checkCount: number; - - @Type(() => User) - @ValidateNested() - user: User; } @ViewEntity({ @@ -132,24 +122,21 @@ export class UserActivityCheckInSummary { connection .createQueryBuilder() .from(CheckEvent, 'ce') - .groupBy('ce.activityId') + .groupBy('ce.user.id, ce.activityId') .select('ce.activityId', 'activityId') + .addSelect('ce.user.id', 'userId') .addSelect('ce.activityName', 'activityName') .addSelect('COUNT(ce.id)', 'checkCount') }) -export class ActivityCheckInSummary { - @ViewColumn() - @IsString() - activityId: string; - - @ViewColumn() - @IsString() - activityName: string; - +export class UserActivityCheckInSummary extends ActivityCheckInSummary { @ViewColumn() @IsInt() - @Min(0) - checkCount: number; + @Min(1) + userId: number; + + @Type(() => User) + @ValidateNested() + user: User; } @ViewEntity({