From 47be0841fc6d5fa00892e775bb3a40f404a6382b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20S=C3=B3jko?= Date: Thu, 8 Sep 2022 15:11:04 +0200 Subject: [PATCH] fix(api-gateway): retention data structure --- packages/api-gateway/bin/report.ts | 15 +++++++++------ .../DailyAnalyticsReportGeneratedEventPayload.ts | 8 +++++++- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/api-gateway/bin/report.ts b/packages/api-gateway/bin/report.ts index 8f8442bab..5eb8f643d 100644 --- a/packages/api-gateway/bin/report.ts +++ b/packages/api-gateway/bin/report.ts @@ -106,9 +106,8 @@ const requestReport = async ( } const periodKeys = periodKeyGenerator.getDiscretePeriodKeys(Period.Last7Days) - const registerToActivityRetention = new Map>() + const retentionOverDays = [] for (let i = 0; i < periodKeys.length; i++) { - const retentionOverDays = new Map() for (let j = 0; j < periodKeys.length - i; j++) { const dailyRetention = await analyticsStore.calculateActivitiesRetention({ firstActivity: AnalyticsActivity.Register, @@ -117,10 +116,11 @@ const requestReport = async ( secondActivityPeriodKey: periodKeys[i + j], }) - retentionOverDays.set(periodKeys[i + j], dailyRetention) + retentionOverDays.push({ + periodKey: periodKeys[i + j], + value: dailyRetention, + }) } - - registerToActivityRetention.set(periodKeys[i], retentionOverDays) } const event: DailyAnalyticsReportGeneratedEvent = { @@ -144,7 +144,10 @@ const requestReport = async ( { firstActivity: AnalyticsActivity.Register, secondActivity: AnalyticsActivity.GeneralActivity, - retention: registerToActivityRetention, + retention: { + periodKeys, + values: retentionOverDays, + }, }, ], }, diff --git a/packages/domain-events/src/Domain/Event/DailyAnalyticsReportGeneratedEventPayload.ts b/packages/domain-events/src/Domain/Event/DailyAnalyticsReportGeneratedEventPayload.ts index 6faa74663..6148c2522 100644 --- a/packages/domain-events/src/Domain/Event/DailyAnalyticsReportGeneratedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/DailyAnalyticsReportGeneratedEventPayload.ts @@ -31,6 +31,12 @@ export interface DailyAnalyticsReportGeneratedEventPayload { retentionStatistics: Array<{ firstActivity: string secondActivity: string - retention: Map> + retention: { + periodKeys: Array + values: Array<{ + periodKey: string + value: number + }> + } }> }