Fix: los comentarios confidenciales de instancia eliminados o editados dejan marca en el listado
Qué
El listado de comentarios confidenciales de una instancia ahora incluye los comentarios eliminados, sin su texto, e informa si un comentario fue editado. Es la parte de backend de los Mantis 0044486 y 0044490 (editar y eliminar comentarios confidenciales desde el frontend).
Por qué
Es el mismo criterio que ya se aplicó a los comentarios normales: al habilitar editar y eliminar en la pantalla, un comentario eliminado desaparecía del seguimiento sin dejar rastro visible, y uno editado no se distinguía del original. Con la marca, el propio listado lo muestra y la auditoría queda para el detalle.
Cambios
-
ComentarioConfidencialInstanciaService.listarPorInstancia: devuelve los comentariosACTIVOyELIMINADO. En losELIMINADO,contenidova ennull. -
ComentarioConfidencialInstanciaResponseDTO: nuevo campoeditado. Se calcula comparandoupdated_atconcreated_at, con un margen de 1 segundo. En un comentario eliminado,updatedAtes la fecha de eliminación. -
ComentarioConfidencialInstanciaController: el listado se ordena porcreatedAtpor defecto, para que un comentario editado o eliminado no cambie de posición. -
ComentarioConfidencialInstanciaService.editar: usasaveAndFlush, así la respuesta ya trae la fecha de la edición. -
ComentarioConfidencialInstanciaRepository:findByInstancia_CodInstanciaAndEstadoInreemplaza afindByInstancia_CodInstanciaAndEstado. - Tests: tres casos nuevos del service (eliminado sin contenido, editado, recién creado no editado) y ajuste de los de listar y editar.
No cambia: obtener por id, editar y eliminar siguen operando solo sobre comentarios activos, y los permisos son los mismos.
Cómo probar
-
DELETE /instancias/{id}/comentarios-confidenciales/{idComentario}sobre un comentario activo: responde 204. -
GET /instancias/{id}/comentarios-confidenciales: el comentario eliminado sigue en el listado, conestado = ELIMINADOycontenido = null. -
PUTsobre otro comentario y volver a listar: ese comentario sale coneditado = true. - Un comentario recién creado sale con
editado = false.
Tests: ./mvnw test -Dtest='ComentarioConfidencialInstancia*Test'
El test de integración (ComentarioConfidencialInstanciaIT) se adaptó al método nuevo del repositorio y compila, pero no se corrió localmente.
Cambios en BD
Ninguno.
Mantis 0044486, 0044490