Less gross passing of notifications flag
This commit is contained in:
parent
eaaf2170fe
commit
0c547faf92
|
@ -33,7 +33,7 @@ class Api::V1::AccountsController < Api::BaseController
|
||||||
end
|
end
|
||||||
|
|
||||||
def mute
|
def mute
|
||||||
MuteService.new.call(current_user.account, @account, notifications: params[:notifications])
|
MuteService.new.call(current_user.account, @account, **params.permit(:notifications).to_hash.symbolize_keys)
|
||||||
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships
|
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,9 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class MuteService < BaseService
|
class MuteService < BaseService
|
||||||
def call(account, target_account, notifications: nil)
|
def call(account, target_account, **opts)
|
||||||
return if account.id == target_account.id
|
return if account.id == target_account.id
|
||||||
FeedManager.instance.clear_from_timeline(account, target_account)
|
FeedManager.instance.clear_from_timeline(account, target_account)
|
||||||
# This unwieldy approach avoids duplicating the default value here
|
account.mute!(target_account, **opts.slice(:notifications))
|
||||||
# and in mute!.
|
|
||||||
opts = {}
|
|
||||||
opts[:notifications] = notifications unless notifications.nil?
|
|
||||||
account.mute!(target_account, **opts)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Reference in New Issue