2021-04-12 06:37:14 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class REST::SuggestionSerializer < ActiveModel::Serializer
|
2024-02-06 12:10:17 -05:00
|
|
|
attributes :source, :sources
|
2021-04-12 06:37:14 -04:00
|
|
|
|
|
|
|
has_one :account, serializer: REST::AccountSerializer
|
2024-02-06 12:10:17 -05: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 06:37:14 -04:00
|
|
|
end
|