discourse/app/serializers/grouped_search_result_serializer.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

48 lines
1.1 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
class GroupedSearchResultSerializer < ApplicationSerializer
has_many :posts, serializer: SearchPostSerializer
has_many :users, serializer: SearchResultUserSerializer
has_many :categories, serializer: BasicCategorySerializer
2017-08-25 23:52:18 +08:00
has_many :tags, serializer: TagSerializer
has_many :groups, serializer: BasicGroupSerializer
attributes :more_posts,
:more_users,
:more_categories,
:term,
:search_log_id,
:more_full_page_results,
:can_create_topic,
:error,
:extra
def search_log_id
object.search_log_id
end
def include_search_log_id?
search_log_id.present?
end
2017-08-25 23:52:18 +08:00
def include_tags?
SiteSetting.tagging_enabled
end
def can_create_topic
scope.can_create?(Topic)
end
def extra
extra = {}
if object.can_lazy_load_categories
extra[:categories] = ActiveModel::ArraySerializer.new(
object.extra_categories,
each_serializer: BasicCategorySerializer,
)
end
extra
end
end