# frozen_string_literal: true class NewPostResultSerializer < ApplicationSerializer attributes :action, :post, :errors, :success, :pending_count, :reason, :message, :route_to has_one :pending_post, serializer: TopicPendingPostSerializer, root: false, embed: :objects def post post_serializer = PostSerializer.new(object.post, scope: scope, root: false, add_raw: true) post_serializer.draft_sequence = DraftSequence.current(scope.user, object.post.topic.draft_key) post_serializer.as_json end def include_post? object.post.present? end def success true end def include_success? @object.success? end def errors object.errors.full_messages end def include_errors? !object.errors.empty? end def reason object.reason end def include_reason? scope.is_staff? && reason.present? end def action object.action end def pending_count object.pending_count end def pending_post object.reviewable end def include_pending_post? object.reviewable.present? end def include_pending_count? pending_count.present? end def route_to object.route_to end def include_route_to? object.route_to.present? end def message object.message end def include_message? object.message.present? end end