Skip to content

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 comentarios ACTIVO y ELIMINADO. En los ELIMINADO, contenido va en null.
  • ComentarioConfidencialInstanciaResponseDTO: nuevo campo editado. Se calcula comparando updated_at con created_at, con un margen de 1 segundo. En un comentario eliminado, updatedAt es la fecha de eliminación.
  • ComentarioConfidencialInstanciaController: el listado se ordena por createdAt por defecto, para que un comentario editado o eliminado no cambie de posición.
  • ComentarioConfidencialInstanciaService.editar: usa saveAndFlush, así la respuesta ya trae la fecha de la edición.
  • ComentarioConfidencialInstanciaRepository: findByInstancia_CodInstanciaAndEstadoIn reemplaza a findByInstancia_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

  1. DELETE /instancias/{id}/comentarios-confidenciales/{idComentario} sobre un comentario activo: responde 204.
  2. GET /instancias/{id}/comentarios-confidenciales: el comentario eliminado sigue en el listado, con estado = ELIMINADO y contenido = null.
  3. PUT sobre otro comentario y volver a listar: ese comentario sale con editado = true.
  4. 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

Merge request reports

Loading