# frozen_string_literal: true # Deprecated, should be removed once users have sufficient opportunity to do so 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 queue 'default' end def user_id object.created_by_id end def state object.status + 1 end def approved_by_id who_did(:approved) end def rejected_by_id who_did(:rejected) 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 protected def who_did(status) object. reviewable_histories. where( reviewable_history_type: ReviewableHistory.types[:transitioned], status: Reviewable.statuses[status] ). order(:created_at) .last&.created_by_id end end