feat(reports): filter hidden metrics from API responses
Apply MetricFilter concern to reports controllers: - ReportsController: return empty array for hidden timeseries metrics, filter summary and bot_summary responses - SummaryReportsController: filter hidden metrics from array responses
This commit is contained in:
@@ -1,21 +1,25 @@
|
||||
class Api::V2::Accounts::ReportsController < Api::V1::Accounts::BaseController
|
||||
include Api::V2::Accounts::ReportsHelper
|
||||
include Api::V2::Accounts::HeatmapHelper
|
||||
include Reports::MetricFilter
|
||||
|
||||
before_action :check_authorization
|
||||
|
||||
def index
|
||||
# Return empty timeseries array for hidden metrics (preserves expected response shape)
|
||||
return render json: [] if metric_hidden?(params[:metric])
|
||||
|
||||
builder = V2::Reports::Conversations::ReportBuilder.new(Current.account, report_params)
|
||||
data = builder.timeseries
|
||||
render json: data
|
||||
end
|
||||
|
||||
def summary
|
||||
render json: build_summary(:summary)
|
||||
render json: filter_summary_with_previous(build_summary(:summary))
|
||||
end
|
||||
|
||||
def bot_summary
|
||||
render json: build_summary(:bot_summary)
|
||||
render json: filter_summary_with_previous(build_summary(:bot_summary))
|
||||
end
|
||||
|
||||
def agents
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
class Api::V2::Accounts::SummaryReportsController < Api::V1::Accounts::BaseController
|
||||
include Reports::MetricFilter
|
||||
|
||||
before_action :check_authorization
|
||||
before_action :prepare_builder_params, only: [:agent, :team, :inbox, :label, :channel]
|
||||
|
||||
@@ -40,7 +42,7 @@ class Api::V2::Accounts::SummaryReportsController < Api::V1::Accounts::BaseContr
|
||||
|
||||
def render_report_with(builder_class)
|
||||
builder = builder_class.new(account: Current.account, params: @builder_params)
|
||||
render json: builder.build
|
||||
render json: filter_hidden_metrics_from_array(builder.build)
|
||||
end
|
||||
|
||||
def permitted_params
|
||||
|
||||
Reference in New Issue
Block a user