about summary refs log tree commit diff
path: root/app/models/notification.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-11-21 15:16:04 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-11-21 15:16:04 +0100
commit52119104b94f30d751b410ea865891258e1444ff (patch)
tree1da757ebfe990e74b8ed10e79b39f0a164c427d7 /app/models/notification.rb
parente8c27767aab0bf6c26d28944268a78fb5ac5d4e0 (diff)
Remove some n+1 queries from notifications API
Diffstat (limited to 'app/models/notification.rb')
-rw-r--r--app/models/notification.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/models/notification.rb b/app/models/notification.rb
index 66aefcb74..419f31230 100644
--- a/app/models/notification.rb
+++ b/app/models/notification.rb
@@ -11,10 +11,14 @@ class Notification < ApplicationRecord
   belongs_to :follow,    foreign_type: 'Follow',    foreign_key: 'activity_id'
   belongs_to :favourite, foreign_type: 'Favourite', foreign_key: 'activity_id'
 
-  STATUS_INCLUDES = [:account, :media_attachments, mentions: :account, reblog: [:account, mentions: :account]].freeze
+  STATUS_INCLUDES = [:account, :stream_entry, :media_attachments, :tags, mentions: :account, reblog: [:stream_entry, :account, :media_attachments, :tags, mentions: :account]].freeze
 
   scope :with_includes, -> { includes(status: STATUS_INCLUDES, mention: [status: STATUS_INCLUDES], favourite: [:account, status: STATUS_INCLUDES], follow: :account) }
 
+  def activity
+    send(activity_type.downcase)
+  end
+
   def type
     case activity_type
     when 'Status'