31 lines
		
	
	
		
			666 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			666 B
		
	
	
	
		
			Ruby
		
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
class Api::ProofsController < Api::BaseController
 | 
						|
  before_action :set_account
 | 
						|
  before_action :set_provider
 | 
						|
  before_action :check_account_approval
 | 
						|
  before_action :check_account_suspension
 | 
						|
 | 
						|
  def index
 | 
						|
    render json: @account, serializer: @provider.serializer_class
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
 | 
						|
  def set_provider
 | 
						|
    @provider = ProofProvider.find(params[:provider]) || raise(ActiveRecord::RecordNotFound)
 | 
						|
  end
 | 
						|
 | 
						|
  def set_account
 | 
						|
    @account = Account.find_local!(params[:username])
 | 
						|
  end
 | 
						|
 | 
						|
  def check_account_approval
 | 
						|
    not_found if @account.user_pending?
 | 
						|
  end
 | 
						|
 | 
						|
  def check_account_suspension
 | 
						|
    gone if @account.suspended?
 | 
						|
  end
 | 
						|
end
 |