0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-05 18:09:26 +08:00
discourse/app/serializers/suggested_topic_serializer.rb

50 lines
1.1 KiB
Ruby
Vendored

# frozen_string_literal: true
class SuggestedTopicSerializer < ListableTopicSerializer
include TopicTagsMixin
# need to embed so we have users
# front page json gets away without embedding
class SuggestedPosterSerializer < ApplicationSerializer
attributes :extras, :description
has_one :user, serializer: PosterSerializer, embed: :objects
end
attributes :archetype,
:like_count,
:views,
:category_id,
:featured_link,
:featured_link_root_domain,
:is_nested_view,
:op_like_count
has_many :posters, serializer: SuggestedPosterSerializer, embed: :objects
def op_like_count
object.first_post && object.first_post.like_count
end
def posters
object.posters || []
end
def include_featured_link?
SiteSetting.topic_featured_link_enabled
end
def featured_link
object.featured_link
end
def include_featured_link_root_domain?
SiteSetting.topic_featured_link_enabled && object.featured_link
end
def is_nested_view
true
end
def include_is_nested_view?
object.nested_view?
end
end