Convert /instances/*
controller specs to request specs (#27988)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
parent
718c95e7af
commit
876f5b1d12
20 changed files with 349 additions and 192 deletions
|
@ -3,6 +3,8 @@
|
|||
class Api::V1::Instances::ActivityController < Api::V1::Instances::BaseController
|
||||
before_action :require_enabled_api!
|
||||
|
||||
WEEKS_OF_ACTIVITY = 12
|
||||
|
||||
def show
|
||||
cache_even_if_authenticated!
|
||||
render_with_cache json: :activity, expires_in: 1.day
|
||||
|
@ -11,23 +13,40 @@ class Api::V1::Instances::ActivityController < Api::V1::Instances::BaseControlle
|
|||
private
|
||||
|
||||
def activity
|
||||
statuses_tracker = ActivityTracker.new('activity:statuses:local', :basic)
|
||||
logins_tracker = ActivityTracker.new('activity:logins', :unique)
|
||||
registrations_tracker = ActivityTracker.new('activity:accounts:local', :basic)
|
||||
|
||||
(0...12).map do |i|
|
||||
start_of_week = i.weeks.ago
|
||||
end_of_week = start_of_week + 6.days
|
||||
|
||||
{
|
||||
week: start_of_week.to_i.to_s,
|
||||
statuses: statuses_tracker.sum(start_of_week, end_of_week).to_s,
|
||||
logins: logins_tracker.sum(start_of_week, end_of_week).to_s,
|
||||
registrations: registrations_tracker.sum(start_of_week, end_of_week).to_s,
|
||||
}
|
||||
activity_weeks.map do |weeks_ago|
|
||||
activity_json(*week_edge_days(weeks_ago))
|
||||
end
|
||||
end
|
||||
|
||||
def activity_json(start_of_week, end_of_week)
|
||||
{
|
||||
week: start_of_week.to_i.to_s,
|
||||
statuses: statuses_tracker.sum(start_of_week, end_of_week).to_s,
|
||||
logins: logins_tracker.sum(start_of_week, end_of_week).to_s,
|
||||
registrations: registrations_tracker.sum(start_of_week, end_of_week).to_s,
|
||||
}
|
||||
end
|
||||
|
||||
def activity_weeks
|
||||
0...WEEKS_OF_ACTIVITY
|
||||
end
|
||||
|
||||
def week_edge_days(num)
|
||||
[num.weeks.ago, num.weeks.ago + 6.days]
|
||||
end
|
||||
|
||||
def statuses_tracker
|
||||
ActivityTracker.new('activity:statuses:local', :basic)
|
||||
end
|
||||
|
||||
def logins_tracker
|
||||
ActivityTracker.new('activity:logins', :unique)
|
||||
end
|
||||
|
||||
def registrations_tracker
|
||||
ActivityTracker.new('activity:accounts:local', :basic)
|
||||
end
|
||||
|
||||
def require_enabled_api!
|
||||
head 404 unless Setting.activity_api_enabled && !limited_federation_mode?
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue