From b3ae379be75d692a8f7a3e36be63e841770dd610 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sun, 19 Apr 2026 16:36:02 +0200 Subject: [PATCH] fix(audit): add blockId to TEXT_SAVED audit payload Required for dashboard Pulse stat 2 (COUNT DISTINCT blockId). Without it, two saves on different blocks on the same page were indistinguishable. Co-Authored-By: Claude Sonnet 4.6 --- .../raddatz/familienarchiv/service/TranscriptionService.java | 3 ++- .../familienarchiv/service/TranscriptionServiceTest.java | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/org/raddatz/familienarchiv/service/TranscriptionService.java b/backend/src/main/java/org/raddatz/familienarchiv/service/TranscriptionService.java index c52cf103..01bbff54 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/service/TranscriptionService.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/service/TranscriptionService.java @@ -142,7 +142,8 @@ public class TranscriptionService { if (!text.equals(previousText)) { Optional annotation = annotationRepository.findById(block.getAnnotationId()); int pageNumber = annotation.map(DocumentAnnotation::getPageNumber).orElse(0); - auditService.logAfterCommit(AuditKind.TEXT_SAVED, userId, documentId, Map.of("pageNumber", pageNumber)); + auditService.logAfterCommit(AuditKind.TEXT_SAVED, userId, documentId, + Map.of("pageNumber", pageNumber, "blockId", saved.getId().toString())); } Document doc = documentService.getDocumentById(documentId); diff --git a/backend/src/test/java/org/raddatz/familienarchiv/service/TranscriptionServiceTest.java b/backend/src/test/java/org/raddatz/familienarchiv/service/TranscriptionServiceTest.java index e9d415a8..65584fe7 100644 --- a/backend/src/test/java/org/raddatz/familienarchiv/service/TranscriptionServiceTest.java +++ b/backend/src/test/java/org/raddatz/familienarchiv/service/TranscriptionServiceTest.java @@ -487,6 +487,7 @@ class TranscriptionServiceTest { org.mockito.ArgumentMatchers.eq(docId), payloadCaptor.capture()); assertThat(payloadCaptor.getValue()).containsEntry("pageNumber", 3); + assertThat(payloadCaptor.getValue()).containsEntry("blockId", blockId.toString()); } @Test