]> cat aescling's git repositories - mastodon.git/commitdiff
Add muting_notifications? and a notifications argument to mute!
authorSurinna Curtis <ekiru.0@gmail.com>
Tue, 18 Jul 2017 02:10:37 +0000 (21:10 -0500)
committerSurinna Curtis <ekiru.0@gmail.com>
Thu, 14 Sep 2017 02:47:30 +0000 (21:47 -0500)
app/models/concerns/account_interactions.rb
app/models/mute.rb
db/schema.rb

index b26520f5bd5585731149d8025a885514cbf65cbf..976452f12098f28f77cef3a8a5c4cd2342d4f9ec 100644 (file)
@@ -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
index 00e5661a749ac186a41699d512f1f12e23d102f2..40fb3f0f225bce4719d40ed06393c30ba0ef936f 100644 (file)
@@ -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
index d8af0a1f8ed30b2ec861cdbf0ff0f76a51bd0236..90f6fb1b33c675b5011c3ea1a3a4a08de2a50be1 100644 (file)
@@ -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
 
This page took 0.023451 seconds and 3 git commands to generate.