From fce47a0a37a67b3edf3ea0b6ccda43c54dbd9870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20S=C3=B3jko?= Date: Thu, 10 Nov 2022 11:52:19 +0100 Subject: [PATCH] fix(analytics): add monthly mrr to the report --- packages/analytics/bin/report.ts | 13 +++++++++++-- .../src/Infra/Redis/RedisStatisticsStore.ts | 9 ++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/packages/analytics/bin/report.ts b/packages/analytics/bin/report.ts index 0c5719b79..5c6d40fd7 100644 --- a/packages/analytics/bin/report.ts +++ b/packages/analytics/bin/report.ts @@ -100,8 +100,6 @@ const requestReport = async ( }) } - const thirtyDaysStatisticsNames = [StatisticsMeasure.MRR] - const statisticsOverTime: Array<{ name: string period: number @@ -110,6 +108,8 @@ const requestReport = async ( totalCount: number }> }> = [] + + const thirtyDaysStatisticsNames = [StatisticsMeasure.MRR] for (const statisticName of thirtyDaysStatisticsNames) { statisticsOverTime.push({ name: statisticName, @@ -118,6 +118,15 @@ const requestReport = async ( }) } + const monthlyStatisticsNames = [StatisticsMeasure.MRR] + for (const statisticName of monthlyStatisticsNames) { + statisticsOverTime.push({ + name: statisticName, + period: Period.ThisYear, + counts: await statisticsStore.calculateTotalCountOverPeriod(statisticName, Period.ThisYear), + }) + } + const statisticMeasureNames = [ StatisticsMeasure.Income, StatisticsMeasure.PlusSubscriptionInitialAnnualPaymentsIncome, diff --git a/packages/analytics/src/Infra/Redis/RedisStatisticsStore.ts b/packages/analytics/src/Infra/Redis/RedisStatisticsStore.ts index 49c39e60d..a0880aee6 100644 --- a/packages/analytics/src/Infra/Redis/RedisStatisticsStore.ts +++ b/packages/analytics/src/Infra/Redis/RedisStatisticsStore.ts @@ -14,7 +14,14 @@ export class RedisStatisticsStore implements StatisticsStoreInterface { period: Period, ): Promise<{ periodKey: string; totalCount: number }[]> { if ( - ![Period.Last30Days, Period.Q1ThisYear, Period.Q2ThisYear, Period.Q3ThisYear, Period.Q4ThisYear].includes(period) + ![ + Period.Last30Days, + Period.ThisYear, + Period.Q1ThisYear, + Period.Q2ThisYear, + Period.Q3ThisYear, + Period.Q4ThisYear, + ].includes(period) ) { throw new Error(`Unsuporrted period: ${period}`) }