Fix N+1s in grouped notifications (#31638)
This commit is contained in:
parent
fc870c7e5a
commit
a23b3747ac
3 changed files with 88 additions and 48 deletions
|
@ -39,21 +39,18 @@ class REST::NotificationGroupSerializer < ActiveModel::Serializer
|
|||
end
|
||||
|
||||
def page_min_id
|
||||
range = instance_options[:group_metadata][object.group_key]
|
||||
range.present? ? range[:min_id].to_s : object.notification.id.to_s
|
||||
object.pagination_data[:min_id].to_s
|
||||
end
|
||||
|
||||
def page_max_id
|
||||
range = instance_options[:group_metadata][object.group_key]
|
||||
range.present? ? range[:max_id].to_s : object.notification.id.to_s
|
||||
object.most_recent_notification_id.to_s
|
||||
end
|
||||
|
||||
def latest_page_notification_at
|
||||
range = instance_options[:group_metadata][object.group_key]
|
||||
range.present? ? range[:latest_notification_at] : object.notification.created_at
|
||||
object.pagination_data[:latest_notification_at]
|
||||
end
|
||||
|
||||
def paginated?
|
||||
!instance_options[:group_metadata].nil?
|
||||
object.pagination_data.present?
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue