2017-02-05 19:51:56 -06:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class MuteService < BaseService
|
2017-07-27 23:28:57 -05:00
|
|
|
def call(account, target_account, notifications: nil)
|
2017-02-05 19:51:56 -06:00
|
|
|
return if account.id == target_account.id
|
2017-07-27 23:28:57 -05:00
|
|
|
FeedManager.instance.clear_from_timeline(account, target_account)
|
|
|
|
# This unwieldy approach avoids duplicating the default value here
|
|
|
|
# and in mute!.
|
|
|
|
opts = {}
|
|
|
|
opts[:notifications] = notifications unless notifications.nil?
|
|
|
|
mute = account.mute!(target_account, **opts)
|
2017-10-04 01:22:33 +02:00
|
|
|
BlockWorker.perform_async(account.id, target_account.id)
|
|
|
|
mute
|
2017-02-05 19:51:56 -06:00
|
|
|
end
|
|
|
|
end
|