]> cat aescling's git repositories - mastodon.git/blob - app/controllers/admin/instances_controller.rb
Display trending hashtags on admin dashboard (#8038)
[mastodon.git] / app / controllers / admin / instances_controller.rb
1 # frozen_string_literal: true
2
3 module Admin
4 class InstancesController < BaseController
5 def index
6 authorize :instance, :index?
7 @instances = ordered_instances
8 end
9
10 def resubscribe
11 authorize :instance, :resubscribe?
12 params.require(:by_domain)
13 Pubsubhubbub::SubscribeWorker.push_bulk(subscribeable_accounts.pluck(:id))
14 redirect_to admin_instances_path
15 end
16
17 private
18
19 def filtered_instances
20 InstanceFilter.new(filter_params).results
21 end
22
23 def paginated_instances
24 filtered_instances.page(params[:page])
25 end
26
27 helper_method :paginated_instances
28
29 def ordered_instances
30 paginated_instances.map { |account| Instance.new(account) }
31 end
32
33 def subscribeable_accounts
34 Account.with_followers.remote.where(domain: params[:by_domain])
35 end
36
37 def filter_params
38 params.permit(
39 :domain_name
40 )
41 end
42 end
43 end
This page took 0.101603 seconds and 4 git commands to generate.