@ -1,10 +1,11 @@
# frozen_string_literal: true
# frozen_string_literal: true
class Api :: V1 :: AccountsController < ApiController
class Api :: V1 :: AccountsController < ApiController
before_action - > { doorkeeper_authorize! :read } , except : [ :follow , :unfollow , :block , :unblock , :mute , :unmute ]
before_action - > { doorkeeper_authorize! :read } , except : [ :follow , :unfollow , :block , :unblock , :mute , :unmute , :update_credentials ]
before_action - > { doorkeeper_authorize! :follow } , only : [ :follow , :unfollow , :block , :unblock , :mute , :unmute ]
before_action - > { doorkeeper_authorize! :follow } , only : [ :follow , :unfollow , :block , :unblock , :mute , :unmute ]
before_action - > { doorkeeper_authorize! :write } , only : [ :update_credentials ]
before_action :require_user! , except : [ :show , :following , :followers , :statuses ]
before_action :require_user! , except : [ :show , :following , :followers , :statuses ]
before_action :set_account , except : [ :verify_credentials , :suggestions , :search ]
before_action :set_account , except : [ :verify_credentials , :update_credentials , : suggestions , :search ]
respond_to :json
respond_to :json
@ -15,6 +16,14 @@ class Api::V1::AccountsController < ApiController
render action : :show
render action : :show
end
end
def update_credentials
@account = current_user . account
@account . update_attributes! ( account_params )
render action : :show
end
def following
def following
results = Follow . where ( account : @account ) . paginate_by_max_id ( limit_param ( DEFAULT_ACCOUNTS_LIMIT ) , params [ :max_id ] , params [ :since_id ] )
results = Follow . where ( account : @account ) . paginate_by_max_id ( limit_param ( DEFAULT_ACCOUNTS_LIMIT ) , params [ :max_id ] , params [ :since_id ] )
accounts = Account . where ( id : results . map ( & :target_account_id ) ) . map { | a | [ a . id , a ] } . to_h
accounts = Account . where ( id : results . map ( & :target_account_id ) ) . map { | a | [ a . id , a ] } . to_h
@ -135,4 +144,8 @@ class Api::V1::AccountsController < ApiController
def statuses_pagination_params ( core_params )
def statuses_pagination_params ( core_params )
params . permit ( :limit , :only_media , :exclude_replies ) . merge ( core_params )
params . permit ( :limit , :only_media , :exclude_replies ) . merge ( core_params )
end
end
def account_params
@account_params || = params . permit ( :display_name , :note , :avatar , :header )
end
end
end