mirror of
https://github.com/mastodon/mastodon.git
synced 2024-11-21 12:05:07 +01:00
Fix POST /api/v1/follows error when already following (#4878)
This commit is contained in:
parent
15b886a6f0
commit
c450ddb613
@ -10,6 +10,12 @@ class Api::V1::FollowsController < Api::BaseController
|
|||||||
raise ActiveRecord::RecordNotFound if follow_params[:uri].blank?
|
raise ActiveRecord::RecordNotFound if follow_params[:uri].blank?
|
||||||
|
|
||||||
@account = FollowService.new.call(current_user.account, target_uri).try(:target_account)
|
@account = FollowService.new.call(current_user.account, target_uri).try(:target_account)
|
||||||
|
|
||||||
|
if @account.nil?
|
||||||
|
username, domain = target_uri.split('@')
|
||||||
|
@account = Account.find_remote!(username, domain)
|
||||||
|
end
|
||||||
|
|
||||||
render json: @account, serializer: REST::AccountSerializer
|
render json: @account, serializer: REST::AccountSerializer
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -42,5 +42,10 @@ RSpec.describe Api::V1::FollowsController, type: :controller do
|
|||||||
it 'subscribes to remote hub' do
|
it 'subscribes to remote hub' do
|
||||||
expect(a_request(:post, "https://quitter.no/main/push/hub")).to have_been_made
|
expect(a_request(:post, "https://quitter.no/main/push/hub")).to have_been_made
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'returns http success if already following, too' do
|
||||||
|
post :create, params: { uri: 'gargron@quitter.no' }
|
||||||
|
expect(response).to have_http_status(:success)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user