0
0
Fork 0

Fix N+1s in grouped notifications (#31638)

This commit is contained in:
Claire 2024-09-02 11:56:00 +02:00 committed by GitHub
parent fc870c7e5a
commit a23b3747ac
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 88 additions and 48 deletions

View file

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