From 8c98b619bdea1f02a139f78097544bd4717ea3fc Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Thu, 5 Mar 2026 14:30:24 +0530 Subject: [PATCH] feat: allow timezone offset for summary reports --- .../api/v2/accounts/summary_reports_controller.rb | 3 ++- app/javascript/dashboard/api/summaryReports.js | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/controllers/api/v2/accounts/summary_reports_controller.rb b/app/controllers/api/v2/accounts/summary_reports_controller.rb index 40d5947b9..31cd6eece 100644 --- a/app/controllers/api/v2/accounts/summary_reports_controller.rb +++ b/app/controllers/api/v2/accounts/summary_reports_controller.rb @@ -36,6 +36,7 @@ class Api::V2::Accounts::SummaryReportsController < Api::V1::Accounts::BaseContr until: permitted_params[:until], business_hours: ActiveModel::Type::Boolean.new.cast(permitted_params[:business_hours]) } + @builder_params[:timezone_offset] = permitted_params[:timezone_offset] if permitted_params[:timezone_offset].present? end def render_report_with(builder_class, type: nil) @@ -45,7 +46,7 @@ class Api::V2::Accounts::SummaryReportsController < Api::V1::Accounts::BaseContr end def permitted_params - params.permit(:since, :until, :business_hours) + params.permit(:since, :until, :business_hours, :timezone_offset) end def date_range_too_long? diff --git a/app/javascript/dashboard/api/summaryReports.js b/app/javascript/dashboard/api/summaryReports.js index fad26bf6f..7c774c773 100644 --- a/app/javascript/dashboard/api/summaryReports.js +++ b/app/javascript/dashboard/api/summaryReports.js @@ -1,6 +1,8 @@ /* global axios */ import ApiClient from './ApiClient'; +const getTimeOffset = () => -new Date().getTimezoneOffset() / 60; + class SummaryReportsAPI extends ApiClient { constructor() { super('summary_reports', { accountScoped: true, apiVersion: 'v2' }); @@ -12,6 +14,7 @@ class SummaryReportsAPI extends ApiClient { since, until, business_hours: businessHours, + timezone_offset: getTimeOffset(), }, }); } @@ -22,6 +25,7 @@ class SummaryReportsAPI extends ApiClient { since, until, business_hours: businessHours, + timezone_offset: getTimeOffset(), }, }); } @@ -32,6 +36,7 @@ class SummaryReportsAPI extends ApiClient { since, until, business_hours: businessHours, + timezone_offset: getTimeOffset(), }, }); } @@ -42,6 +47,7 @@ class SummaryReportsAPI extends ApiClient { since, until, business_hours: businessHours, + timezone_offset: getTimeOffset(), }, }); }