mirror of https://github.com/mastodon/mastodon.git
Move extra sql params to base class
parent
d804aace1a
commit
c6f6f8ca0d
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.*, (
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue