Add duration parameter to muting. (#13831)
* Adding duration to muting. * Remove useless checks
This commit is contained in:
parent
f54ca3d08e
commit
96761752ec
18 changed files with 124 additions and 14 deletions
|
@ -131,9 +131,12 @@ module AccountInteractions
|
|||
.find_or_create_by!(target_account: other_account)
|
||||
end
|
||||
|
||||
def mute!(other_account, notifications: nil)
|
||||
def mute!(other_account, notifications: nil, duration: 0)
|
||||
notifications = true if notifications.nil?
|
||||
mute = mute_relationships.create_with(hide_notifications: notifications).find_or_create_by!(target_account: other_account)
|
||||
mute = mute_relationships.create_with(hide_notifications: notifications).find_or_initialize_by(target_account: other_account)
|
||||
mute.expires_in = duration.zero? ? nil : duration
|
||||
mute.save!
|
||||
|
||||
remove_potential_friendship(other_account)
|
||||
|
||||
# When toggling a mute between hiding and allowing notifications, the mute will already exist, so the find_or_create_by! call will return the existing Mute without updating the hide_notifications attribute. Therefore, we check that hide_notifications? is what we want and set it if it isn't.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue