2021-04-12 20:37:14 +10:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class REST::SuggestionSerializer < ActiveModel::Serializer
|
2024-02-07 04:10:17 +11:00
|
|
|
attributes :source, :sources
|
2021-04-12 20:37:14 +10:00
|
|
|
|
|
|
|
has_one :account, serializer: REST::AccountSerializer
|
2024-02-07 04:10:17 +11:00
|
|
|
|
|
|
|
LEGACY_SOURCE_TYPE_MAP = {
|
|
|
|
featured: 'staff',
|
|
|
|
most_followed: 'global',
|
|
|
|
most_interactions: 'global',
|
|
|
|
# NOTE: Those are not completely accurate, but those are personalized interactions
|
|
|
|
similar_to_recently_followed: 'past_interactions',
|
|
|
|
friends_of_friends: 'past_interactions',
|
|
|
|
}.freeze
|
|
|
|
|
|
|
|
def source
|
|
|
|
LEGACY_SOURCE_TYPE_MAP[object.sources.first]
|
|
|
|
end
|
2021-04-12 20:37:14 +10:00
|
|
|
end
|