discourse/app/serializers/group_post_serializer.rb

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

73 lines
1.4 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
require_relative "post_item_excerpt"
class GroupPostSerializer < ApplicationSerializer
include PostItemExcerpt
attributes :id,
:created_at,
:topic_id,
:topic_title,
:topic_slug,
:topic_html_title,
:url,
:category_id,
:post_number,
:posts_count,
:post_type,
:username,
:name,
:avatar_template,
:user_title,
:primary_group_name
# TODO(keegan): Remove `embed: :object` after updating references in discourse-reactions
has_one :user, serializer: GroupPostUserSerializer, embed: :object
2016-12-05 18:12:24 +08:00
has_one :topic, serializer: BasicTopicSerializer, embed: :object
def topic_title
object.topic.title
end
def topic_html_title
object.topic.fancy_title
end
def topic_slug
object.topic.slug
end
def posts_count
object.topic.posts_count
end
def include_user_long_name?
SiteSetting.enable_names?
end
def category_id
object.topic.category_id
end
def username
object&.user&.username
end
def name
object&.user&.name
end
def avatar_template
object&.user&.avatar_template
end
def user_title
object&.user&.title
end
def primary_group_name
object&.user&.primary_group&.name
end
end