discourse/app/serializers/topic_list_serializer.rb

33 lines
709 B
Ruby

class TopicListSerializer < ApplicationSerializer
attributes :can_create_topic,
:more_topics_url,
:draft,
:draft_key,
:draft_sequence,
:can_view_rank_details
has_many :topics, serializer: TopicListItemSerializer, embed: :objects
def can_view_rank_details
true
end
def include_can_view_rank_details?
object.has_rank_details?
end
def can_create_topic
if object.category.present?
scope.can_create?(Topic, object.category)
else
scope.can_create?(Topic)
end
end
def include_more_topics_url?
object.more_topics_url.present? && (object.topics.size == SiteSetting.topics_per_page)
end
end