Refactor controllers for statuses, accounts, and more (#11249)
This commit is contained in:
		@@ -3,24 +3,19 @@
 | 
			
		||||
module AccountControllerConcern
 | 
			
		||||
  extend ActiveSupport::Concern
 | 
			
		||||
 | 
			
		||||
  include AccountOwnedConcern
 | 
			
		||||
 | 
			
		||||
  FOLLOW_PER_PAGE = 12
 | 
			
		||||
 | 
			
		||||
  included do
 | 
			
		||||
    layout 'public'
 | 
			
		||||
 | 
			
		||||
    before_action :set_account
 | 
			
		||||
    before_action :check_account_approval
 | 
			
		||||
    before_action :check_account_suspension
 | 
			
		||||
    before_action :set_instance_presenter
 | 
			
		||||
    before_action :set_link_headers
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def set_account
 | 
			
		||||
    @account = Account.find_local!(username_param)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def set_instance_presenter
 | 
			
		||||
    @instance_presenter = InstancePresenter.new
 | 
			
		||||
  end
 | 
			
		||||
@@ -29,27 +24,15 @@ module AccountControllerConcern
 | 
			
		||||
    response.headers['Link'] = LinkHeader.new(
 | 
			
		||||
      [
 | 
			
		||||
        webfinger_account_link,
 | 
			
		||||
        atom_account_url_link,
 | 
			
		||||
        actor_url_link,
 | 
			
		||||
      ]
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def username_param
 | 
			
		||||
    params[:account_username]
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def webfinger_account_link
 | 
			
		||||
    [
 | 
			
		||||
      webfinger_account_url,
 | 
			
		||||
      [%w(rel lrdd), %w(type application/xrd+xml)],
 | 
			
		||||
    ]
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def atom_account_url_link
 | 
			
		||||
    [
 | 
			
		||||
      account_url(@account, format: 'atom'),
 | 
			
		||||
      [%w(rel alternate), %w(type application/atom+xml)],
 | 
			
		||||
      [%w(rel lrdd), %w(type application/jrd+json)],
 | 
			
		||||
    ]
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@@ -63,15 +46,4 @@ module AccountControllerConcern
 | 
			
		||||
  def webfinger_account_url
 | 
			
		||||
    webfinger_url(resource: @account.to_webfinger_s)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def check_account_approval
 | 
			
		||||
    not_found if @account.user_pending?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def check_account_suspension
 | 
			
		||||
    if @account.suspended?
 | 
			
		||||
      expires_in(3.minutes, public: true)
 | 
			
		||||
      gone
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user