From 8c6f33a510a07156c2c00af9e956c0747ef3d3bc Mon Sep 17 00:00:00 2001 From: hpkoh Date: Tue, 8 Nov 2022 01:32:44 +0800 Subject: [PATCH] [questions][fix] encounter last seen sorting --- apps/portal/src/types/questions.d.ts | 3 +-- .../src/utils/questions/server/aggregate-encounters.ts | 7 +------ 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/apps/portal/src/types/questions.d.ts b/apps/portal/src/types/questions.d.ts index 0a4a9339..26ce930e 100644 --- a/apps/portal/src/types/questions.d.ts +++ b/apps/portal/src/types/questions.d.ts @@ -8,7 +8,7 @@ export type Question = { numComments: number; numVotes: number; receivedCount: number; - seenAt: Date; + lastSeenAt: Date | null; type: QuestionsQuestionType; updatedAt: Date; user: string; @@ -47,7 +47,6 @@ export type Location = CityLocation | CountryLocation | StateLocation; export type AggregatedQuestionEncounter = { companyCounts: Record; countryCounts: Record; - latestSeenAt: Date; roleCounts: Record; }; diff --git a/apps/portal/src/utils/questions/server/aggregate-encounters.ts b/apps/portal/src/utils/questions/server/aggregate-encounters.ts index 189bcd1a..f7cacf68 100644 --- a/apps/portal/src/utils/questions/server/aggregate-encounters.ts +++ b/apps/portal/src/utils/questions/server/aggregate-encounters.ts @@ -65,7 +65,7 @@ export function createQuestionWithAggregateData( numComments: data._count.comments, numVotes: votes, receivedCount: data.encounters.length, - seenAt: data.encounters[0].seenAt, + lastSeenAt: data.lastSeenAt, type: data.questionType, updatedAt: data.updatedAt, user: data.user?.name ?? '', @@ -80,11 +80,7 @@ export function createAggregatedQuestionEncounter( const companyCounts: Record = {}; const roleCounts: Record = {}; - let latestSeenAt = encounters[0].seenAt; - for (const encounter of encounters) { - latestSeenAt = - latestSeenAt < encounter.seenAt ? encounter.seenAt : latestSeenAt; if (encounter.company !== null) { if (!(encounter.company.name in companyCounts)) { @@ -137,7 +133,6 @@ export function createAggregatedQuestionEncounter( return { companyCounts, countryCounts, - latestSeenAt, roleCounts, }; }