Opción Pendiente de las acciones del tema

Disculpa la demora. He estado pensando bastante en esto.

Hacer que una publicación quede pendiente implica eliminarla permanentemente y almacenar todos los datos necesarios para recrearla dentro del atributo payload del elemento revisable. Tuve que reescribir esto un par de veces porque me preocupaba perder datos durante esta transición debido a asociaciones marcadas con dependent: :destroy o dependent: :delete_all. Sin embargo, después de algunas pruebas, creo que debería ser seguro hacerlo.

Hacer esto cuando un tema no tiene respuestas o cuando no es la primera publicación debería requerir un esfuerzo bajo a moderado. Toda la lógica para poner una publicación en cola está dentro del método NewPostManager#enqueue, así que tendremos que extraerla a una clase separada y reutilizarla. Siempre agregamos las publicaciones pendientes al final del tema después de la aprobación, por lo que agregarlas en una posición específica requerirá un poco más de trabajo.

Mover un tema con respuestas de nuevo a pendiente debería ser más complicado con este enfoque. Serializarlo en un elemento revisable parece un poco excesivo. ¿Quizás podríamos ocultar el tema temporalmente en su lugar? Por ejemplo, ya hacemos esto cuando una publicación es marcada como spam por un usuario de confianza.

Alternativamente, podríamos siempre marcar como spam y eliminar (u ocultar) en su lugar, lo que haría todo mucho más fácil. No puedo pensar en ninguna razón por la que eliminar permanentemente y poner la publicación en cola sea mejor.

2 Me gusta