From 7386b2c98362c9e6d1d0ba2ac03fe2fdc23b4dbf Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Wed, 21 Jan 2026 15:21:58 +0530 Subject: [PATCH] feat: add inbox filter to heatmap --- lib/tasks/download_report.rake | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/tasks/download_report.rake b/lib/tasks/download_report.rake index 59d8383b7..852606cb1 100644 --- a/lib/tasks/download_report.rake +++ b/lib/tasks/download_report.rake @@ -168,12 +168,16 @@ module DownloadReportTasks def self.download_heatmap_report(metric:, filename_prefix:, header_label:) data = collect_params(include_business_hours: false) account = data[:account] + inbox_id = prompt('Enter Inbox ID (optional)') + inbox = inbox_id.present? ? account.inboxes.find_by(id: inbox_id) : nil + abort "Error: Inbox with ID '#{inbox_id}' not found" if inbox_id.present? && inbox.nil? puts "\nGenerating #{filename_prefix.tr('_', ' ')} report..." report_params = data[:params].merge({ metric: metric, group_by: 'hour', - type: :account + type: inbox.present? ? :inbox : :account, + id: inbox&.id }) report = V2::Reports::Conversations::ReportBuilder.new(account, report_params).timeseries timezone = ActiveSupport::TimeZone[data[:params][:timezone_offset]] @@ -189,7 +193,8 @@ module DownloadReportTasks ] end - filename = "#{account.id}_#{filename_prefix}_#{data[:start_date]}_#{data[:end_date]}.csv" + inbox_suffix = inbox.present? ? "_inbox_#{inbox.id}" : '' + filename = "#{account.id}_#{filename_prefix}#{inbox_suffix}_#{data[:start_date]}_#{data[:end_date]}.csv" save_csv(filename, headers, rows) end end