diff --git a/backend/src/main/java/org/raddatz/familienarchiv/dto/TranscriptionWeeklyStatsDTO.java b/backend/src/main/java/org/raddatz/familienarchiv/dto/TranscriptionWeeklyStatsDTO.java index 99392a1f..5cbbe923 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/dto/TranscriptionWeeklyStatsDTO.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/dto/TranscriptionWeeklyStatsDTO.java @@ -9,6 +9,5 @@ import io.swagger.v3.oas.annotations.media.Schema; */ public record TranscriptionWeeklyStatsDTO( @Schema(requiredMode = Schema.RequiredMode.REQUIRED) long segmentationCount, - @Schema(requiredMode = Schema.RequiredMode.REQUIRED) long transcriptionCount, - @Schema(requiredMode = Schema.RequiredMode.REQUIRED) long readyCount + @Schema(requiredMode = Schema.RequiredMode.REQUIRED) long transcriptionCount ) {} diff --git a/backend/src/main/java/org/raddatz/familienarchiv/repository/DocumentRepository.java b/backend/src/main/java/org/raddatz/familienarchiv/repository/DocumentRepository.java index 850f9024..92517f4b 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/repository/DocumentRepository.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/repository/DocumentRepository.java @@ -232,10 +232,7 @@ public interface DocumentRepository extends JpaRepository, JpaSp WHERE da.created_at >= NOW() - INTERVAL '7 days') AS segmentationCount, (SELECT COUNT(DISTINCT tb.document_id) FROM transcription_blocks tb WHERE tb.created_at >= NOW() - INTERVAL '7 days' - AND tb.text IS NOT NULL AND tb.text <> '') AS transcriptionCount, - (SELECT COUNT(DISTINCT tb.document_id) FROM transcription_blocks tb - WHERE tb.updated_at >= NOW() - INTERVAL '7 days' - AND tb.reviewed = true) AS readyCount + AND tb.text IS NOT NULL AND tb.text <> '') AS transcriptionCount """) TranscriptionWeeklyStatsProjection findWeeklyStats(); diff --git a/backend/src/main/java/org/raddatz/familienarchiv/repository/TranscriptionWeeklyStatsProjection.java b/backend/src/main/java/org/raddatz/familienarchiv/repository/TranscriptionWeeklyStatsProjection.java index 729e0224..0b1e6f14 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/repository/TranscriptionWeeklyStatsProjection.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/repository/TranscriptionWeeklyStatsProjection.java @@ -7,5 +7,4 @@ package org.raddatz.familienarchiv.repository; public interface TranscriptionWeeklyStatsProjection { long getSegmentationCount(); long getTranscriptionCount(); - long getReadyCount(); } diff --git a/backend/src/main/java/org/raddatz/familienarchiv/service/TranscriptionQueueService.java b/backend/src/main/java/org/raddatz/familienarchiv/service/TranscriptionQueueService.java index e8936dc8..bc0118fa 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/service/TranscriptionQueueService.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/service/TranscriptionQueueService.java @@ -46,8 +46,7 @@ public class TranscriptionQueueService { var stats = documentRepository.findWeeklyStats(); return new TranscriptionWeeklyStatsDTO( stats.getSegmentationCount(), - stats.getTranscriptionCount(), - stats.getReadyCount() + stats.getTranscriptionCount() ); } diff --git a/backend/src/test/java/org/raddatz/familienarchiv/controller/TranscriptionQueueControllerTest.java b/backend/src/test/java/org/raddatz/familienarchiv/controller/TranscriptionQueueControllerTest.java index 10e9165b..8b6f9fab 100644 --- a/backend/src/test/java/org/raddatz/familienarchiv/controller/TranscriptionQueueControllerTest.java +++ b/backend/src/test/java/org/raddatz/familienarchiv/controller/TranscriptionQueueControllerTest.java @@ -44,7 +44,7 @@ class TranscriptionQueueControllerTest { 3, 1, 0 ); - private static final TranscriptionWeeklyStatsDTO STATS = new TranscriptionWeeklyStatsDTO(2L, 5L, 1L); + private static final TranscriptionWeeklyStatsDTO STATS = new TranscriptionWeeklyStatsDTO(2L, 5L); // ─── segmentation-queue ─────────────────────────────────────────────────── @@ -145,7 +145,6 @@ class TranscriptionQueueControllerTest { mockMvc.perform(get("/api/transcription/weekly-stats")) .andExpect(status().isOk()) .andExpect(jsonPath("$.segmentationCount").value(2)) - .andExpect(jsonPath("$.transcriptionCount").value(5)) - .andExpect(jsonPath("$.readyCount").value(1)); + .andExpect(jsonPath("$.transcriptionCount").value(5)); } } diff --git a/backend/src/test/java/org/raddatz/familienarchiv/repository/DocumentRepositoryTest.java b/backend/src/test/java/org/raddatz/familienarchiv/repository/DocumentRepositoryTest.java index c5637ee5..80f1fd00 100644 --- a/backend/src/test/java/org/raddatz/familienarchiv/repository/DocumentRepositoryTest.java +++ b/backend/src/test/java/org/raddatz/familienarchiv/repository/DocumentRepositoryTest.java @@ -343,7 +343,6 @@ class DocumentRepositoryTest { assertThat(stats.getSegmentationCount()).isEqualTo(0L); assertThat(stats.getTranscriptionCount()).isEqualTo(0L); - assertThat(stats.getReadyCount()).isEqualTo(0L); } // ─── seeding helpers ───────────────────────────────────────────────────── diff --git a/backend/src/test/java/org/raddatz/familienarchiv/service/TranscriptionQueueServiceTest.java b/backend/src/test/java/org/raddatz/familienarchiv/service/TranscriptionQueueServiceTest.java index cd087b37..0a76114b 100644 --- a/backend/src/test/java/org/raddatz/familienarchiv/service/TranscriptionQueueServiceTest.java +++ b/backend/src/test/java/org/raddatz/familienarchiv/service/TranscriptionQueueServiceTest.java @@ -88,26 +88,24 @@ class TranscriptionQueueServiceTest { @Test void getWeeklyStats_mapsProjectionToDTO() { - TranscriptionWeeklyStatsProjection proj = mockStatsProjection(3L, 7L, 2L); + TranscriptionWeeklyStatsProjection proj = mockStatsProjection(3L, 7L); when(documentRepository.findWeeklyStats()).thenReturn(proj); TranscriptionWeeklyStatsDTO result = service.getWeeklyStats(); assertThat(result.segmentationCount()).isEqualTo(3L); assertThat(result.transcriptionCount()).isEqualTo(7L); - assertThat(result.readyCount()).isEqualTo(2L); } @Test void getWeeklyStats_returnsZeros_whenAllCountsAreZero() { - TranscriptionWeeklyStatsProjection proj = mockStatsProjection(0L, 0L, 0L); + TranscriptionWeeklyStatsProjection proj = mockStatsProjection(0L, 0L); when(documentRepository.findWeeklyStats()).thenReturn(proj); TranscriptionWeeklyStatsDTO result = service.getWeeklyStats(); assertThat(result.segmentationCount()).isEqualTo(0L); assertThat(result.transcriptionCount()).isEqualTo(0L); - assertThat(result.readyCount()).isEqualTo(0L); } // ─── helpers ───────────────────────────────────────────────────────────── @@ -126,11 +124,10 @@ class TranscriptionQueueServiceTest { } private TranscriptionWeeklyStatsProjection mockStatsProjection( - long segmentationCount, long transcriptionCount, long readyCount) { + long segmentationCount, long transcriptionCount) { TranscriptionWeeklyStatsProjection proj = mock(TranscriptionWeeklyStatsProjection.class); when(proj.getSegmentationCount()).thenReturn(segmentationCount); when(proj.getTranscriptionCount()).thenReturn(transcriptionCount); - when(proj.getReadyCount()).thenReturn(readyCount); return proj; } } diff --git a/frontend/src/lib/generated/api.ts b/frontend/src/lib/generated/api.ts index 876f58af..dc00b483 100644 --- a/frontend/src/lib/generated/api.ts +++ b/frontend/src/lib/generated/api.ts @@ -1519,8 +1519,6 @@ export interface components { segmentationCount: number; /** Format: int64 */ transcriptionCount: number; - /** Format: int64 */ - readyCount: number; }; TranscriptionQueueItemDTO: { /** Format: uuid */ @@ -1548,14 +1546,14 @@ export interface components { displayName?: string; firstName?: string; lastName?: string; - /** Format: int64 */ - documentCount?: number; /** Format: int32 */ birthYear?: number; /** Format: int32 */ deathYear?: number; alias?: string; notes?: string; + /** Format: int64 */ + documentCount?: number; personType?: string; }; TrainingInfoResponse: {