Add muting_notifications? and a notifications argument to mute!

shrike
Surinna Curtis 2017-07-17 21:10:37 -05:00
parent 27e55da853
commit 44207b6af6
3 changed files with 13 additions and 7 deletions

View File

@ -70,8 +70,8 @@ module AccountInteractions
block_relationships.find_or_create_by!(target_account: other_account) block_relationships.find_or_create_by!(target_account: other_account)
end end
def mute!(other_account) def mute!(other_account, notifications: true)
mute_relationships.find_or_create_by!(target_account: other_account) mute_relationships.create_with(hide_notifications: notifications).find_or_create_by!(target_account: other_account)
end end
def mute_conversation!(conversation) def mute_conversation!(conversation)
@ -127,6 +127,10 @@ module AccountInteractions
conversation_mutes.where(conversation: conversation).exists? conversation_mutes.where(conversation: conversation).exists?
end end
def muting_notifications?(other_account)
mute_relationships.where(target_account: other_account, hide_notifications: true).exists?
end
def requested?(other_account) def requested?(other_account)
follow_requests.where(target_account: other_account).exists? follow_requests.where(target_account: other_account).exists?
end end

View File

@ -3,11 +3,12 @@
# #
# Table name: mutes # Table name: mutes
# #
# id :integer not null, primary key # id :integer not null, primary key
# account_id :integer not null # account_id :integer not null
# target_account_id :integer not null # target_account_id :integer not null
# created_at :datetime not null # created_at :datetime not null
# updated_at :datetime not null # updated_at :datetime not null
# hide_notifications :boolean default(FALSE), not null
# #
class Mute < ApplicationRecord class Mute < ApplicationRecord

View File

@ -168,6 +168,7 @@ ActiveRecord::Schema.define(version: 20170905165803) do
t.integer "target_account_id", null: false t.integer "target_account_id", null: false
t.datetime "created_at", null: false t.datetime "created_at", null: false
t.datetime "updated_at", null: false t.datetime "updated_at", null: false
t.boolean "hide_notifications", default: false, null: false
t.index ["account_id", "target_account_id"], name: "index_mutes_on_account_id_and_target_account_id", unique: true t.index ["account_id", "target_account_id"], name: "index_mutes_on_account_id_and_target_account_id", unique: true
end end