diff options
author | Surinna Curtis <ekiru.0@gmail.com> | 2017-07-17 21:10:37 -0500 |
---|---|---|
committer | Surinna Curtis <ekiru.0@gmail.com> | 2017-09-13 21:47:30 -0500 |
commit | 44207b6af6977f44200b6fd82f3e18ba70fd7cc7 (patch) | |
tree | d217d36b0589e0cee924a849c8e3da1724f5e912 | |
parent | 27e55da8530b6557bd5375240bee2aa09f25d021 (diff) |
Add muting_notifications? and a notifications argument to mute!
-rw-r--r-- | app/models/concerns/account_interactions.rb | 8 | ||||
-rw-r--r-- | app/models/mute.rb | 11 | ||||
-rw-r--r-- | db/schema.rb | 1 |
3 files changed, 13 insertions, 7 deletions
diff --git a/app/models/concerns/account_interactions.rb b/app/models/concerns/account_interactions.rb index b26520f5b..976452f12 100644 --- a/app/models/concerns/account_interactions.rb +++ b/app/models/concerns/account_interactions.rb @@ -70,8 +70,8 @@ module AccountInteractions block_relationships.find_or_create_by!(target_account: other_account) end - def mute!(other_account) - mute_relationships.find_or_create_by!(target_account: other_account) + def mute!(other_account, notifications: true) + mute_relationships.create_with(hide_notifications: notifications).find_or_create_by!(target_account: other_account) end def mute_conversation!(conversation) @@ -127,6 +127,10 @@ module AccountInteractions conversation_mutes.where(conversation: conversation).exists? end + def muting_notifications?(other_account) + mute_relationships.where(target_account: other_account, hide_notifications: true).exists? + end + def requested?(other_account) follow_requests.where(target_account: other_account).exists? end diff --git a/app/models/mute.rb b/app/models/mute.rb index 00e5661a7..40fb3f0f2 100644 --- a/app/models/mute.rb +++ b/app/models/mute.rb @@ -3,11 +3,12 @@ # # Table name: mutes # -# id :integer not null, primary key -# account_id :integer not null -# target_account_id :integer not null -# created_at :datetime not null -# updated_at :datetime not null +# id :integer not null, primary key +# account_id :integer not null +# target_account_id :integer not null +# created_at :datetime not null +# updated_at :datetime not null +# hide_notifications :boolean default(FALSE), not null # class Mute < ApplicationRecord diff --git a/db/schema.rb b/db/schema.rb index d8af0a1f8..90f6fb1b3 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -168,6 +168,7 @@ ActiveRecord::Schema.define(version: 20170905165803) do t.integer "target_account_id", null: false t.datetime "created_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 end |