From: Eugen Rochko Date: Tue, 16 Feb 2021 14:28:32 +0000 (+0100) Subject: Add `GET /api/v1/accounts/lookup` REST API (#15740) X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=e31ed2748597c9f31afba87dcdf47082949f0f23;p=mastodon.git Add `GET /api/v1/accounts/lookup` REST API (#15740) --- diff --git a/app/controllers/api/v1/accounts/lookup_controller.rb b/app/controllers/api/v1/accounts/lookup_controller.rb new file mode 100644 index 000000000..aee6be18a --- /dev/null +++ b/app/controllers/api/v1/accounts/lookup_controller.rb @@ -0,0 +1,16 @@ +# 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 + render json: @account, serializer: REST::AccountSerializer + end + + private + + def set_account + @account = ResolveAccountService.new.call(params[:acct], skip_webfinger: true) || raise(ActiveRecord::RecordNotFound) + end +end diff --git a/config/routes.rb b/config/routes.rb index a534b433e..fd118f1d6 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -431,6 +431,7 @@ Rails.application.routes.draw do get :verify_credentials, to: 'credentials#show' patch :update_credentials, to: 'credentials#update' resource :search, only: :show, controller: :search + resource :lookup, only: :show, controller: :lookup resources :relationships, only: :index end