From 2742be5619802b00a40164da30745d66ca6a8a45 Mon Sep 17 00:00:00 2001 From: Abhinav Raut Date: Fri, 21 Mar 2025 19:00:56 +0530 Subject: [PATCH] fix: exclude sent messages from report/dashboard charts to avoid data skew --- .../src/features/reports/DashboardLineChart.vue | 2 +- frontend/src/views/reports/DashboardView.vue | 2 -- internal/conversation/queries.sql | 16 ---------------- 3 files changed, 1 insertion(+), 19 deletions(-) diff --git a/frontend/src/features/reports/DashboardLineChart.vue b/frontend/src/features/reports/DashboardLineChart.vue index 41dcf8c6..ef16dd8a 100644 --- a/frontend/src/features/reports/DashboardLineChart.vue +++ b/frontend/src/features/reports/DashboardLineChart.vue @@ -1,5 +1,5 @@ diff --git a/frontend/src/views/reports/DashboardView.vue b/frontend/src/views/reports/DashboardView.vue index 0b2efe6c..a968e56d 100644 --- a/frontend/src/views/reports/DashboardView.vue +++ b/frontend/src/views/reports/DashboardView.vue @@ -138,8 +138,6 @@ const getDashboardCharts = async () => { chartData.value.new_conversations.find((item) => item.date === date)?.count || 0, 'Resolved conversations': chartData.value.resolved_conversations.find((item) => item.date === date)?.count || 0, - 'Messages sent': - chartData.value.messages_sent.find((item) => item.date === date)?.count || 0 })) chartData.value.status_summary = resp.data.data.status_summary || [] diff --git a/internal/conversation/queries.sql b/internal/conversation/queries.sql index dd366bce..7d6df59a 100644 --- a/internal/conversation/queries.sql +++ b/internal/conversation/queries.sql @@ -311,26 +311,10 @@ status_summary AS ( GROUP BY s.name ) agg -), -messages_sent as ( - SELECT json_agg(row_to_json(agg)) AS data - FROM ( - SELECT - TO_CHAR(created_at::date, 'YYYY-MM-DD') AS date, - COUNT(*) AS count - FROM - conversation_messages c - WHERE status = 'sent' AND 1=1 %s - GROUP BY - date - ORDER BY - date - ) agg ) SELECT json_build_object( 'new_conversations', (SELECT data FROM new_conversations), 'resolved_conversations', (SELECT data FROM resolved_conversations), - 'messages_sent', (SELECT data FROM messages_sent), 'status_summary', (SELECT data FROM status_summary) ) AS result;