diff options
author | Claire <claire.github-309c@sitedethib.com> | 2021-02-24 06:32:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-24 06:32:13 +0100 |
commit | 5f4c0b79c25486548b44f1bc5d65e7527a4843c4 (patch) | |
tree | 376e4de10619b73b47ddc36a76a17e13bb52637b /app/services/follow_service.rb | |
parent | eb83ab45e26811dc9ddc07db68559bd36f33deb5 (diff) |
Change ResolveAccountService's handling of skip_webfinger (#15750)
* Change ResolveAccountService's handling of skip_webfinger Change it so it never makes any webfinger query, as the name would imply. * Add tests * Change FollowService to not take an URI for target_account * Restore domain-block check in FollowService * Fix tests
Diffstat (limited to 'app/services/follow_service.rb')
-rw-r--r-- | app/services/follow_service.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/app/services/follow_service.rb b/app/services/follow_service.rb index b98f7011d..d3db07a74 100644 --- a/app/services/follow_service.rb +++ b/app/services/follow_service.rb @@ -3,10 +3,11 @@ class FollowService < BaseService include Redisable include Payloadable + include DomainControlHelper # Follow a remote user, notify remote user about the 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 [Account] target_account Account to follow # @param [Hash] options # @option [Boolean] :reblogs Whether or not to show reblogs, defaults to true # @option [Boolean] :notify Whether to create notifications about new posts, defaults to false @@ -15,7 +16,7 @@ class FollowService < BaseService # @option [Boolean] :with_rate_limit def call(source_account, target_account, options = {}) @source_account = source_account - @target_account = ResolveAccountService.new.call(target_account, skip_webfinger: true) + @target_account = target_account @options = { bypass_locked: false, bypass_limit: false, with_rate_limit: false }.merge(options) raise ActiveRecord::RecordNotFound if following_not_possible? @@ -43,7 +44,7 @@ class FollowService < BaseService end def following_not_allowed? - @target_account.blocking?(@source_account) || @source_account.blocking?(@target_account) || @target_account.moved? || (!@target_account.local? && @target_account.ostatus?) || @source_account.domain_blocking?(@target_account.domain) + domain_not_allowed?(@target_account.domain) || @target_account.blocking?(@source_account) || @source_account.blocking?(@target_account) || @target_account.moved? || (!@target_account.local? && @target_account.ostatus?) || @source_account.domain_blocking?(@target_account.domain) end def change_follow_options! |