You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class Api::V1::Accounts::LookupController < Api::BaseController
|
|
|
|
before_action -> { authorize_if_got_token! :read, :'read:accounts' }
|
|
|
|
before_action :set_account
|
|
|
|
|
|
|
|
def show
|
|
|
|
cache_if_unauthenticated!
|
|
|
|
render json: @account, serializer: REST::AccountSerializer
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def set_account
|
|
|
|
@account = ResolveAccountService.new.call(params[:acct], skip_webfinger: true) || raise(ActiveRecord::RecordNotFound)
|
|
|
|
rescue Addressable::URI::InvalidURIError
|
|
|
|
raise(ActiveRecord::RecordNotFound)
|
|
|
|
end
|
|
|
|
end
|