Updates per code review

Thanks, @valerauko!
This commit is contained in:
aschmitz 2017-11-11 14:37:23 -06:00
parent b95c48748c
commit 5128c4261e
3 changed files with 4 additions and 9 deletions

View file

@ -17,7 +17,7 @@ class Api::V1::AccountsController < Api::BaseController
FollowService.new.call(current_user.account, @account.acct, reblogs_arg) FollowService.new.call(current_user.account, @account.acct, reblogs_arg)
options = @account.locked? ? {} : { following_map: reblogs_arg, requested_map: { @account.id => false } } options = @account.locked? ? {} : { following_map: { @account.id => reblogs_arg }, requested_map: { @account.id => false } }
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships(options) render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships(options)
end end

View file

@ -77,10 +77,7 @@ module AccountInteractions
def follow!(other_account, reblogs: nil) def follow!(other_account, reblogs: nil)
reblogs = true if reblogs.nil? reblogs = true if reblogs.nil?
rel = active_relationships.create_with(show_reblogs: reblogs).find_or_create_by!(target_account: other_account) rel = active_relationships.create_with(show_reblogs: reblogs).find_or_create_by!(target_account: other_account)
if rel.show_reblogs != reblogs rel.update!(show_reblogs: reblogs)
rel.show_reblogs = reblogs
rel.save!
end
rel rel
end end

View file

@ -6,6 +6,7 @@ class FollowService < BaseService
# Follow a remote user, notify remote user about the follow # Follow a remote user, notify remote user about the follow
# @param [Account] source_account From which to follow # @param [Account] source_account From which to follow
# @param [String, Account] uri User URI to follow in the form of username@domain (or account record) # @param [String, Account] uri User URI to follow in the form of username@domain (or account record)
# @param [true, false, nil] reblogs Whether or not to show reblogs, defaults to true
def call(source_account, uri, reblogs: nil) def call(source_account, uri, reblogs: nil)
reblogs = true if reblogs.nil? reblogs = true if reblogs.nil?
target_account = uri.is_a?(Account) ? uri : ResolveRemoteAccountService.new.call(uri) target_account = uri.is_a?(Account) ? uri : ResolveRemoteAccountService.new.call(uri)
@ -22,10 +23,7 @@ class FollowService < BaseService
# This isn't managed by a method in AccountInteractions, so we modify it # This isn't managed by a method in AccountInteractions, so we modify it
# ourselves if necessary. # ourselves if necessary.
req = follow_requests.find_by(target_account: other_account) req = follow_requests.find_by(target_account: other_account)
if req.show_reblogs != reblogs req.update!(show_reblogs: reblogs)
req.show_reblogs = reblogs
req.save!
end
return return
end end