Add annual reports for accounts (#28693)

This commit is contained in:
Eugen Rochko 2024-01-24 10:38:10 +01:00 committed by GitHub
parent 01ce9df880
commit 5b1eb09d54
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 480 additions and 1 deletions

View file

@ -0,0 +1,21 @@
# frozen_string_literal: true
class AnnualReport::TopStatuses < AnnualReport::Source
def generate
top_reblogs = base_scope.order(reblogs_count: :desc).first&.id
top_favourites = base_scope.where.not(id: top_reblogs).order(favourites_count: :desc).first&.id
top_replies = base_scope.where.not(id: [top_reblogs, top_favourites]).order(replies_count: :desc).first&.id
{
top_statuses: {
by_reblogs: top_reblogs,
by_favourites: top_favourites,
by_replies: top_replies,
},
}
end
def base_scope
@account.statuses.with_public_visibility.joins(:status_stat).where(id: year_as_snowflake_range).reorder(nil)
end
end