Fix domain block impact queries being rejected (#40122)

This commit is contained in:
Claire
2026-08-11 11:10:52 +02:00
parent ac7fa978af
commit 77b7951de8
4 changed files with 30 additions and 6 deletions

View File

@@ -18,8 +18,8 @@ class Api::V1::Admin::MeasuresController < Api::BaseController
def set_measures
@measures = Admin::Metrics::Measure.retrieve(
params.require(:keys),
params.require(:start_at),
params.require(:end_at),
params[:start_at],
params[:end_at],
params
)
end

View File

@@ -18,7 +18,12 @@ class Admin::Metrics::Dimension::BaseDimension
@params = params
@loaded = false
@start_at = [@start_at, @end_at - 2.years].max if @start_at.present? && @end_at.present?
if @start_at.present? && @end_at.present?
@start_at = [@start_at, @end_at - 2.years].max
else
@start_at = nil
@end_at = nil
end
end
def key

View File

@@ -12,12 +12,17 @@ class Admin::Metrics::Measure::BaseMeasure
alias loaded? loaded
def initialize(start_at, end_at, params)
@start_at = start_at.to_datetime
@end_at = end_at.to_datetime
@start_at = start_at&.to_datetime
@end_at = end_at&.to_datetime
@params = params
@loaded = false
@start_at = [@start_at, @end_at - 2.years].max
if @start_at.present? && @end_at.present?
@start_at = [@start_at, @end_at - 2.years].max
else
@start_at = nil
@end_at = nil
end
end
def cache_key

View File

@@ -51,6 +51,20 @@ RSpec.describe 'Admin Measures' do
expect(response.parsed_body)
.to be_an(Array)
end
context 'without start_at and end_at' do
it 'returns http success and status json' do
post '/api/v1/admin/measures', params: params.merge({ start_at: nil, end_at: nil }), headers: headers
expect(response)
.to have_http_status(200)
expect(response.content_type)
.to start_with('application/json')
expect(response.parsed_body)
.to be_an(Array)
end
end
end
end
end