0
0
Fork 0

Remove some n+1 queries from notifications API

This commit is contained in:
Eugen Rochko 2016-11-21 15:16:04 +01:00
parent e8c27767aa
commit 52119104b9
2 changed files with 7 additions and 1 deletions

View file

@ -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'