diff --git a/backend/src/main/java/org/raddatz/familienarchiv/repository/TranscriptionBlockRepository.java b/backend/src/main/java/org/raddatz/familienarchiv/repository/TranscriptionBlockRepository.java index 82834365..d091f950 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/repository/TranscriptionBlockRepository.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/repository/TranscriptionBlockRepository.java @@ -16,6 +16,8 @@ public interface TranscriptionBlockRepository extends JpaRepository findByAnnotationId(UUID annotationId); + void deleteByAnnotationId(UUID annotationId); + int countByDocumentId(UUID documentId); @Query(""" diff --git a/backend/src/main/java/org/raddatz/familienarchiv/service/AnnotationService.java b/backend/src/main/java/org/raddatz/familienarchiv/service/AnnotationService.java index d7192cce..7b3e1252 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/service/AnnotationService.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/service/AnnotationService.java @@ -6,6 +6,7 @@ import org.raddatz.familienarchiv.exception.DomainException; import org.raddatz.familienarchiv.exception.ErrorCode; import org.raddatz.familienarchiv.model.DocumentAnnotation; import org.raddatz.familienarchiv.repository.AnnotationRepository; +import org.raddatz.familienarchiv.repository.TranscriptionBlockRepository; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -17,6 +18,7 @@ import java.util.UUID; public class AnnotationService { private final AnnotationRepository annotationRepository; + private final TranscriptionBlockRepository blockRepository; public List listAnnotations(UUID documentId) { return annotationRepository.findByDocumentId(documentId); @@ -70,6 +72,7 @@ public class AnnotationService { throw DomainException.forbidden("Only the annotation author can delete it"); } + blockRepository.deleteByAnnotationId(annotationId); annotationRepository.delete(annotation); }