From 708fd9d63e14ac28b93a5aa902c65f96f458c422 Mon Sep 17 00:00:00 2001 From: Marcel Date: Thu, 7 May 2026 19:47:27 +0200 Subject: [PATCH] refactor(comment): promote CommentData to top-level record in comment package Moves the nested `CommentData` record out of `CommentService` into its own `document/comment/CommentData.java` file, removing the cross-domain coupling where `DashboardService` depended on an inner type of `CommentService`. Co-Authored-By: Claude Sonnet 4.6 --- .../raddatz/familienarchiv/dashboard/DashboardService.java | 2 +- .../familienarchiv/document/comment/CommentData.java | 5 +++++ .../familienarchiv/document/comment/CommentService.java | 2 -- .../familienarchiv/dashboard/DashboardServiceTest.java | 2 +- .../familienarchiv/document/comment/CommentServiceTest.java | 6 +++--- 5 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 backend/src/main/java/org/raddatz/familienarchiv/document/comment/CommentData.java diff --git a/backend/src/main/java/org/raddatz/familienarchiv/dashboard/DashboardService.java b/backend/src/main/java/org/raddatz/familienarchiv/dashboard/DashboardService.java index 5b5e03a1..2eacbd31 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/dashboard/DashboardService.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/dashboard/DashboardService.java @@ -12,7 +12,7 @@ import org.raddatz.familienarchiv.document.Document; import org.raddatz.familienarchiv.person.Person; import org.raddatz.familienarchiv.document.transcription.TranscriptionBlock; import org.raddatz.familienarchiv.document.comment.CommentService; -import org.raddatz.familienarchiv.document.comment.CommentService.CommentData; +import org.raddatz.familienarchiv.document.comment.CommentData; import org.raddatz.familienarchiv.document.DocumentService; import org.raddatz.familienarchiv.document.transcription.TranscriptionService; import org.raddatz.familienarchiv.user.UserService; diff --git a/backend/src/main/java/org/raddatz/familienarchiv/document/comment/CommentData.java b/backend/src/main/java/org/raddatz/familienarchiv/document/comment/CommentData.java new file mode 100644 index 00000000..aefa340b --- /dev/null +++ b/backend/src/main/java/org/raddatz/familienarchiv/document/comment/CommentData.java @@ -0,0 +1,5 @@ +package org.raddatz.familienarchiv.document.comment; + +import java.util.UUID; + +public record CommentData(UUID annotationId, String preview) {} diff --git a/backend/src/main/java/org/raddatz/familienarchiv/document/comment/CommentService.java b/backend/src/main/java/org/raddatz/familienarchiv/document/comment/CommentService.java index 0dc149af..42a7662f 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/document/comment/CommentService.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/document/comment/CommentService.java @@ -31,8 +31,6 @@ public class CommentService { private static final int PREVIEW_MAX_CHARS = 120; - public record CommentData(UUID annotationId, String preview) {} - private final CommentRepository commentRepository; private final UserService userService; private final NotificationService notificationService; diff --git a/backend/src/test/java/org/raddatz/familienarchiv/dashboard/DashboardServiceTest.java b/backend/src/test/java/org/raddatz/familienarchiv/dashboard/DashboardServiceTest.java index ab790806..117a3455 100644 --- a/backend/src/test/java/org/raddatz/familienarchiv/dashboard/DashboardServiceTest.java +++ b/backend/src/test/java/org/raddatz/familienarchiv/dashboard/DashboardServiceTest.java @@ -13,7 +13,7 @@ import org.raddatz.familienarchiv.user.AppUser; import org.raddatz.familienarchiv.document.Document; import org.raddatz.familienarchiv.document.transcription.TranscriptionBlock; import org.raddatz.familienarchiv.document.comment.CommentService; -import org.raddatz.familienarchiv.document.comment.CommentService.CommentData; +import org.raddatz.familienarchiv.document.comment.CommentData; import org.raddatz.familienarchiv.document.DocumentService; import org.raddatz.familienarchiv.document.transcription.TranscriptionService; import org.raddatz.familienarchiv.user.UserService; diff --git a/backend/src/test/java/org/raddatz/familienarchiv/document/comment/CommentServiceTest.java b/backend/src/test/java/org/raddatz/familienarchiv/document/comment/CommentServiceTest.java index bd514b2e..b41818d2 100644 --- a/backend/src/test/java/org/raddatz/familienarchiv/document/comment/CommentServiceTest.java +++ b/backend/src/test/java/org/raddatz/familienarchiv/document/comment/CommentServiceTest.java @@ -660,7 +660,7 @@ class CommentServiceTest { .thenReturn(List.of(DocumentComment.builder().id(id) .content("

Hello world

").build())); - Map result = commentService.findDataByIds(List.of(id)); + Map result = commentService.findDataByIds(List.of(id)); assertThat(result.get(id).preview()).isEqualTo("Hello world"); } @@ -710,7 +710,7 @@ class CommentServiceTest { when(commentRepository.findAllById(List.of(present, deleted))) .thenReturn(List.of(DocumentComment.builder().id(present).content("Hi").build())); - Map result = commentService.findDataByIds(List.of(present, deleted)); + Map result = commentService.findDataByIds(List.of(present, deleted)); assertThat(result).containsKey(present); assertThat(result).doesNotContainKey(deleted); @@ -724,7 +724,7 @@ class CommentServiceTest { .thenReturn(List.of(DocumentComment.builder().id(id) .annotationId(annotationId).content("Text").build())); - CommentService.CommentData data = commentService.findDataByIds(List.of(id)).get(id); + CommentData data = commentService.findDataByIds(List.of(id)).get(id); assertThat(data.annotationId()).isEqualTo(annotationId); assertThat(data.preview()).isEqualTo("Text");