mirror of
https://github.com/mastodon/mastodon.git
synced 2025-09-05 17:31:12 +00:00
Merge cb92313c46
into 14cb5ff881
This commit is contained in:
commit
4679fedb71
|
@ -37,7 +37,7 @@ class Admin::Metrics::Measure::InstanceAccountsMeasure < Admin::Metrics::Measure
|
|||
WITH new_accounts AS (
|
||||
SELECT accounts.id
|
||||
FROM accounts
|
||||
WHERE date_trunc('day', accounts.created_at)::date = axis.period
|
||||
WHERE #{matching_day(Account, :created_at)}
|
||||
AND #{account_domain_sql(params[:include_subdomains])}
|
||||
)
|
||||
SELECT count(*) FROM new_accounts
|
||||
|
|
|
@ -38,7 +38,7 @@ class Admin::Metrics::Measure::InstanceFollowersMeasure < Admin::Metrics::Measur
|
|||
SELECT follows.id
|
||||
FROM follows
|
||||
INNER JOIN accounts ON follows.account_id = accounts.id
|
||||
WHERE date_trunc('day', follows.created_at)::date = axis.period
|
||||
WHERE #{matching_day(Follow, :created_at)}
|
||||
AND #{account_domain_sql(params[:include_subdomains])}
|
||||
)
|
||||
SELECT count(*) FROM new_followers
|
||||
|
|
|
@ -38,7 +38,7 @@ class Admin::Metrics::Measure::InstanceFollowsMeasure < Admin::Metrics::Measure:
|
|||
SELECT follows.id
|
||||
FROM follows
|
||||
INNER JOIN accounts ON follows.target_account_id = accounts.id
|
||||
WHERE date_trunc('day', follows.created_at)::date = axis.period
|
||||
WHERE #{matching_day(Follow, :created_at)}
|
||||
AND #{account_domain_sql(params[:include_subdomains])}
|
||||
)
|
||||
SELECT count(*) FROM new_follows
|
||||
|
|
|
@ -47,7 +47,7 @@ class Admin::Metrics::Measure::InstanceMediaAttachmentsMeasure < Admin::Metrics:
|
|||
SELECT #{media_size_total} AS size
|
||||
FROM media_attachments
|
||||
INNER JOIN accounts ON accounts.id = media_attachments.account_id
|
||||
WHERE date_trunc('day', media_attachments.created_at)::date = axis.period
|
||||
WHERE #{matching_day(MediaAttachment, :created_at)}
|
||||
AND #{account_domain_sql(params[:include_subdomains])}
|
||||
)
|
||||
SELECT COALESCE(SUM(size), 0) FROM new_media_attachments
|
||||
|
|
|
@ -38,7 +38,7 @@ class Admin::Metrics::Measure::InstanceReportsMeasure < Admin::Metrics::Measure:
|
|||
SELECT reports.id
|
||||
FROM reports
|
||||
INNER JOIN accounts ON accounts.id = reports.target_account_id
|
||||
WHERE date_trunc('day', reports.created_at)::date = axis.period
|
||||
WHERE #{matching_day(Report, :created_at)}
|
||||
AND #{account_domain_sql(params[:include_subdomains])}
|
||||
)
|
||||
SELECT count(*) FROM new_reports
|
||||
|
|
|
@ -40,7 +40,7 @@ class Admin::Metrics::Measure::InstanceStatusesMeasure < Admin::Metrics::Measure
|
|||
INNER JOIN accounts ON accounts.id = statuses.account_id
|
||||
WHERE statuses.id BETWEEN :earliest_status_id AND :latest_status_id
|
||||
AND #{account_domain_sql(params[:include_subdomains])}
|
||||
AND date_trunc('day', statuses.created_at)::date = axis.period
|
||||
AND #{matching_day(Status, :created_at)}
|
||||
)
|
||||
SELECT count(*) FROM new_statuses
|
||||
) AS value
|
||||
|
|
|
@ -27,7 +27,7 @@ class Admin::Metrics::Measure::NewUsersMeasure < Admin::Metrics::Measure::BaseMe
|
|||
WITH new_users AS (
|
||||
SELECT users.id
|
||||
FROM users
|
||||
WHERE date_trunc('day', users.created_at)::date = axis.period
|
||||
WHERE #{matching_day(User, :created_at)}
|
||||
)
|
||||
SELECT count(*) FROM new_users
|
||||
) AS value
|
||||
|
|
|
@ -27,7 +27,7 @@ class Admin::Metrics::Measure::OpenedReportsMeasure < Admin::Metrics::Measure::B
|
|||
WITH new_reports AS (
|
||||
SELECT reports.id
|
||||
FROM reports
|
||||
WHERE date_trunc('day', reports.created_at)::date = axis.period
|
||||
WHERE #{matching_day(Report, :created_at)}
|
||||
)
|
||||
SELECT count(*) FROM new_reports
|
||||
) AS value
|
||||
|
|
|
@ -23,6 +23,12 @@ module Admin::Metrics::Measure::QueryHelper
|
|||
)
|
||||
end
|
||||
|
||||
def matching_day(model, column)
|
||||
<<~SQL.squish
|
||||
DATE_TRUNC('day', #{model.table_name}.#{column})::date = axis.period
|
||||
SQL
|
||||
end
|
||||
|
||||
def account_domain_sql(include_subdomains)
|
||||
if include_subdomains
|
||||
"accounts.domain IN (SELECT domain FROM instances WHERE reverse('.' || domain) LIKE reverse('.' || :domain::text))"
|
||||
|
|
|
@ -27,7 +27,7 @@ class Admin::Metrics::Measure::ResolvedReportsMeasure < Admin::Metrics::Measure:
|
|||
WITH resolved_reports AS (
|
||||
SELECT reports.id
|
||||
FROM reports
|
||||
WHERE date_trunc('day', reports.action_taken_at)::date = axis.period
|
||||
WHERE #{matching_day(Report, :action_taken_at)}
|
||||
)
|
||||
SELECT count(*) FROM resolved_reports
|
||||
) AS value
|
||||
|
|
|
@ -35,7 +35,7 @@ class Admin::Metrics::Measure::TagServersMeasure < Admin::Metrics::Measure::Base
|
|||
INNER JOIN accounts ON statuses.account_id = accounts.id
|
||||
WHERE statuses_tags.tag_id = :tag_id
|
||||
AND statuses.id BETWEEN :earliest_status_id AND :latest_status_id
|
||||
AND date_trunc('day', statuses.created_at)::date = axis.period
|
||||
AND #{matching_day(Status, :created_at)}
|
||||
)
|
||||
SELECT COUNT(*) FROM tag_servers
|
||||
) AS value
|
||||
|
|
Loading…
Reference in New Issue
Block a user