discourse/app/serializers/queued_post_serializer.rb

68 lines
1.1 KiB
Ruby

# frozen_string_literal: true
class QueuedPostSerializer < ApplicationSerializer
attributes(
:id,
:queue,
:user_id,
:state,
:topic_id,
:approved_by_id,
:rejected_by_id,
:raw,
:post_options,
:created_at,
:category_id,
:can_delete_user,
)
has_one :created_by, serializer: AdminUserListSerializer, root: :users
has_one :topic, serializer: BasicTopicSerializer
def initialize(object, options = {})
Discourse.deprecate("QueuedPostSerializer is deprecated.", drop_from: "3.3.0")
super
end
def queue
"default"
end
def user_id
object.created_by_id
end
def state
object.status + 1
end
def approved_by_id
post_history.approved.last&.created_by_id
end
def rejected_by_id
post_history.rejected.last&.created_by_id
end
def raw
object.payload["raw"]
end
def post_options
object.payload.except("raw")
end
def can_delete_user
true
end
def include_can_delete_user?
created_by && created_by.trust_level == TrustLevel[0]
end
private
def post_history
object.reviewable_histories.transitioned.order(:created_at)
end
end