# frozen_string_literal: true module Admin class InstancesController < BaseController def index authorize :instance, :index? @instances = ordered_instances end def resubscribe authorize :instance, :resubscribe? params.require(:by_domain) Pubsubhubbub::SubscribeWorker.push_bulk(subscribeable_accounts.pluck(:id)) redirect_to admin_instances_path end private def filtered_instances InstanceFilter.new(filter_params).results end def paginated_instances filtered_instances.page(params[:page]) end helper_method :paginated_instances def ordered_instances paginated_instances.map { |account| Instance.new(account) } end def subscribeable_accounts Account.with_followers.remote.where(domain: params[:by_domain]) end def filter_params params.permit( :domain_name ) end end end