catstodon/app/serializers/rest/dedup_notification_group_serializer.rb

23 lines
830 B
Ruby
Raw Normal View History

# frozen_string_literal: true
class REST::DedupNotificationGroupSerializer < ActiveModel::Serializer
class PartialAccountSerializer < REST::AccountSerializer
# This is a hack to reset ActiveModel::Serializer internals and only expose the attributes
# we care about.
self._attributes_data = {}
self._reflections = []
self._links = []
attributes :id, :acct, :locked, :bot, :url, :avatar, :avatar_static
end
has_many :accounts, serializer: REST::AccountSerializer
has_many :partial_accounts, serializer: PartialAccountSerializer, if: :return_partial_accounts?
has_many :statuses, serializer: REST::StatusSerializer
has_many :notification_groups, serializer: REST::NotificationGroupSerializer
def return_partial_accounts?
instance_options[:expand_accounts] == 'partial_avatars'
end
end