diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-10-03 09:03:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-03 09:03:11 +0200 |
commit | 2aafdd0efb3fa0bf067e0b08a627a462793f296b (patch) | |
tree | d559e2dec7ceb4c446db973b5c040a708d1c5756 /app/services/follow_service.rb | |
parent | 9d7c323abdda66423751f3a25faf960674af8a49 (diff) | |
parent | 6ee768b7b285382fce3270ad4cf06c71838182d8 (diff) |
Merge pull request #1848 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/services/follow_service.rb')
-rw-r--r-- | app/services/follow_service.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/app/services/follow_service.rb b/app/services/follow_service.rb index ed28e1371..feea40e3c 100644 --- a/app/services/follow_service.rb +++ b/app/services/follow_service.rb @@ -11,6 +11,7 @@ class FollowService < BaseService # @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 + # @option [Array<String>] :languages Which languages to allow on the home feed from this account, defaults to all # @option [Boolean] :bypass_locked # @option [Boolean] :bypass_limit Allow following past the total follow number # @option [Boolean] :with_rate_limit @@ -57,15 +58,15 @@ class FollowService < BaseService end def change_follow_options! - @source_account.follow!(@target_account, reblogs: @options[:reblogs], notify: @options[:notify]) + @source_account.follow!(@target_account, **follow_options) end def change_follow_request_options! - @source_account.request_follow!(@target_account, reblogs: @options[:reblogs], notify: @options[:notify]) + @source_account.request_follow!(@target_account, **follow_options) end def request_follow! - follow_request = @source_account.request_follow!(@target_account, reblogs: @options[:reblogs], notify: @options[:notify], rate_limit: @options[:with_rate_limit], bypass_limit: @options[:bypass_limit]) + follow_request = @source_account.request_follow!(@target_account, **follow_options.merge(rate_limit: @options[:with_rate_limit], bypass_limit: @options[:bypass_limit])) if @target_account.local? LocalNotificationWorker.perform_async(@target_account.id, follow_request.id, follow_request.class.name, 'follow_request') @@ -77,7 +78,7 @@ class FollowService < BaseService end def direct_follow! - follow = @source_account.follow!(@target_account, reblogs: @options[:reblogs], notify: @options[:notify], rate_limit: @options[:with_rate_limit], bypass_limit: @options[:bypass_limit]) + follow = @source_account.follow!(@target_account, **follow_options.merge(rate_limit: @options[:with_rate_limit], bypass_limit: @options[:bypass_limit])) LocalNotificationWorker.perform_async(@target_account.id, follow.id, follow.class.name, 'follow') MergeWorker.perform_async(@target_account.id, @source_account.id) @@ -88,4 +89,8 @@ class FollowService < BaseService def build_json(follow_request) Oj.dump(serialize_payload(follow_request, ActivityPub::FollowSerializer)) end + + def follow_options + @options.slice(:reblogs, :notify, :languages) + end end |