forked from fedi/mastodon
edf09ec747
* Add `/api/v1/accounts/familiar_followers` to REST API * Change hide network preference to be stored consistently for local and remote accounts * Add dummy classes to migration * Apply suggestions from code review Co-authored-by: Claire <claire.github-309c@sitedethib.com> Co-authored-by: Claire <claire.github-309c@sitedethib.com>
26 lines
698 B
Ruby
26 lines
698 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Api::V1::Accounts::FamiliarFollowersController < Api::BaseController
|
|
before_action -> { doorkeeper_authorize! :read, :'read:follows' }
|
|
before_action :require_user!
|
|
before_action :set_accounts
|
|
|
|
def index
|
|
render json: familiar_followers.accounts, each_serializer: REST::FamiliarFollowersSerializer
|
|
end
|
|
|
|
private
|
|
|
|
def set_accounts
|
|
@accounts = Account.without_suspended.where(id: account_ids).select('id, hide_collections').index_by(&:id).values_at(*account_ids).compact
|
|
end
|
|
|
|
def familiar_followers
|
|
FamiliarFollowersPresenter.new(@accounts, current_user.account_id)
|
|
end
|
|
|
|
def account_ids
|
|
Array(params[:id]).map(&:to_i)
|
|
end
|
|
end
|