Move extra sql params to base class

pull/30654/head
Matt Jankowski 2024-06-11 11:30:45 -04:00
parent d804aace1a
commit c6f6f8ca0d
9 changed files with 18 additions and 34 deletions

View File

@ -27,14 +27,10 @@ class Admin::Metrics::Measure::InstanceAccountsMeasure < Admin::Metrics::Measure
nil
end
def sql_array
[sql_query_string, { start_at: @start_at, end_at: @end_at, domain: params[:domain] }]
end
def data_source_query
Account
.select(:id)
.where(account_domain_sql)
.where(account_domain_sql, domain: params[:domain])
.where(daily_period(:accounts))
end

View File

@ -27,15 +27,11 @@ class Admin::Metrics::Measure::InstanceFollowersMeasure < Admin::Metrics::Measur
nil
end
def sql_array
[sql_query_string, { start_at: @start_at, end_at: @end_at, domain: params[:domain] }]
end
def data_source_query
Follow
.select(:id)
.joins(:account)
.where(account_domain_sql)
.where(account_domain_sql, domain: params[:domain])
.where(daily_period(:follows))
end

View File

@ -27,15 +27,11 @@ class Admin::Metrics::Measure::InstanceFollowsMeasure < Admin::Metrics::Measure:
nil
end
def sql_array
[sql_query_string, { start_at: @start_at, end_at: @end_at, domain: params[:domain] }]
end
def data_source_query
Follow
.select(:id)
.joins(:target_account)
.where(account_domain_sql)
.where(account_domain_sql, domain: params[:domain])
.where(daily_period(:follows))
end

View File

@ -36,15 +36,11 @@ class Admin::Metrics::Measure::InstanceMediaAttachmentsMeasure < Admin::Metrics:
nil
end
def sql_array
[sql_query_string, { start_at: @start_at, end_at: @end_at, domain: params[:domain] }]
end
def data_source_query
MediaAttachment
.select('COALESCE(media_attachments.file_file_size, 0) + COALESCE(media_attachments.thumbnail_file_size, 0) AS size')
.joins(:account)
.where(account_domain_sql)
.where(account_domain_sql, domain: params[:domain])
.where(daily_period(:media_attachments))
end

View File

@ -27,15 +27,11 @@ class Admin::Metrics::Measure::InstanceReportsMeasure < Admin::Metrics::Measure:
nil
end
def sql_array
[sql_query_string, { start_at: @start_at, end_at: @end_at, domain: params[:domain] }]
end
def data_source_query
Report
.select(:id)
.joins(:target_account)
.where(account_domain_sql)
.where(account_domain_sql, domain: params[:domain])
.where(daily_period(:reports))
end

View File

@ -27,15 +27,15 @@ class Admin::Metrics::Measure::InstanceStatusesMeasure < Admin::Metrics::Measure
nil
end
def sql_array
[sql_query_string, { start_at: @start_at, end_at: @end_at, domain: params[:domain], earliest_status_id: earliest_status_id, latest_status_id: latest_status_id }]
def extra_sql_params
{ earliest_status_id: earliest_status_id, latest_status_id: latest_status_id }
end
def data_source_query
Status
.select(:id)
.joins(:account)
.where(account_domain_sql)
.where(account_domain_sql, domain: params[:domain])
.where(
<<~SQL.squish
statuses.id BETWEEN :earliest_status_id AND :latest_status_id

View File

@ -15,6 +15,14 @@ module Admin::Metrics::Measure::QueryHelper
ActiveRecord::Base.sanitize_sql_array(sql_array)
end
def sql_array
[sql_query_string, { start_at: @start_at, end_at: @end_at }.merge(extra_sql_params)]
end
def extra_sql_params
{}
end
def sql_query_string
<<~SQL.squish
SELECT axis.*, (

View File

@ -17,10 +17,6 @@ class Admin::Metrics::Measure::ResolvedReportsMeasure < Admin::Metrics::Measure:
Report.resolved.where(action_taken_at: previous_time_period).count
end
def sql_array
[sql_query_string, { start_at: @start_at, end_at: @end_at }]
end
def data_source_query
Report
.select(:id)

View File

@ -21,8 +21,8 @@ class Admin::Metrics::Measure::TagServersMeasure < Admin::Metrics::Measure::Base
tag.statuses.where('statuses.id BETWEEN ? AND ?', Mastodon::Snowflake.id_at(@start_at - length_of_period, with_random: false), Mastodon::Snowflake.id_at(@end_at - length_of_period, with_random: false)).joins(:account).count('distinct accounts.domain')
end
def sql_array
[sql_query_string, { start_at: @start_at, end_at: @end_at, tag_id: tag.id, earliest_status_id: earliest_status_id, latest_status_id: latest_status_id }]
def extra_sql_params
{ tag_id: tag.id, earliest_status_id: earliest_status_id, latest_status_id: latest_status_id }
end
def data_source_query