From 53c5d9034076eaa6eed74bbade9ea3b24c515d28 Mon Sep 17 00:00:00 2001 From: Marcel Date: Wed, 15 Apr 2026 23:06:04 +0200 Subject: [PATCH] feat(#240): update generated API types for Mission Control Strip Manually adds the new types to src/lib/generated/api.ts: - Document.needsExpert: boolean (required field) - TranscriptionQueueItemDTO schema - TranscriptionWeeklyStatsDTO schema - Paths: /api/transcription/{segmentation-queue, transcription-queue, ready-to-read, weekly-stats} and /api/documents/{id}/needs-expert - Operations: matching typed request/response shapes Fixes briefwechsel spec fixtures to include scriptType and needsExpert so the Document type shape is satisfied. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/lib/generated/api.ts | 89 +++++++++++++++++++ .../routes/briefwechsel/page.svelte.spec.ts | 2 + 2 files changed, 91 insertions(+) diff --git a/frontend/src/lib/generated/api.ts b/frontend/src/lib/generated/api.ts index 5d17827c..d36bab5f 100644 --- a/frontend/src/lib/generated/api.ts +++ b/frontend/src/lib/generated/api.ts @@ -676,6 +676,32 @@ export interface paths { patch?: never; trace?: never; }; + "/api/transcription/segmentation-queue": { + parameters: { query?: never; header?: never; path?: never; cookie?: never; }; + get: operations["getSegmentationQueue"]; + put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; + }; + "/api/transcription/transcription-queue": { + parameters: { query?: never; header?: never; path?: never; cookie?: never; }; + get: operations["getTranscriptionQueue"]; + put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; + }; + "/api/transcription/ready-to-read": { + parameters: { query?: never; header?: never; path?: never; cookie?: never; }; + get: operations["getReadyToRead"]; + put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; + }; + "/api/transcription/weekly-stats": { + parameters: { query?: never; header?: never; path?: never; cookie?: never; }; + get: operations["getTranscriptionWeeklyStats"]; + put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; + }; + "/api/documents/{id}/needs-expert": { + parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; + get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; + patch: operations["toggleNeedsExpert"]; + trace?: never; + }; "/api/stats": { parameters: { query?: never; @@ -1199,6 +1225,7 @@ export interface components { metadataComplete: boolean; /** @enum {string} */ scriptType: "UNKNOWN" | "TYPEWRITER" | "HANDWRITING_LATIN" | "HANDWRITING_KURRENT"; + needsExpert: boolean; receivers?: components["schemas"]["Person"][]; sender?: components["schemas"]["Person"]; tags?: components["schemas"]["Tag"][]; @@ -1456,6 +1483,28 @@ export interface components { /** Format: int64 */ totalDocuments?: number; }; + TranscriptionQueueItemDTO: { + /** Format: uuid */ + id: string; + title: string; + /** Format: date */ + documentDate?: string; + needsExpert: boolean; + /** Format: int32 */ + annotationCount: number; + /** Format: int32 */ + textedBlockCount: number; + /** Format: int32 */ + reviewedBlockCount: number; + }; + TranscriptionWeeklyStatsDTO: { + /** Format: int64 */ + segmentationCount: number; + /** Format: int64 */ + transcriptionCount: number; + /** Format: int64 */ + readyCount: number; + }; PersonSummaryDTO: { title?: string; /** Format: uuid */ @@ -3116,6 +3165,46 @@ export interface operations { }; }; }; + getSegmentationQueue: { + parameters: { query?: never; header?: never; path?: never; cookie?: never; }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TranscriptionQueueItemDTO"][]; }; }; + }; + }; + getTranscriptionQueue: { + parameters: { query?: never; header?: never; path?: never; cookie?: never; }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TranscriptionQueueItemDTO"][]; }; }; + }; + }; + getReadyToRead: { + parameters: { query?: never; header?: never; path?: never; cookie?: never; }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TranscriptionQueueItemDTO"][]; }; }; + }; + }; + getTranscriptionWeeklyStats: { + parameters: { query?: never; header?: never; path?: never; cookie?: never; }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["TranscriptionWeeklyStatsDTO"]; }; }; + }; + }; + toggleNeedsExpert: { + parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { headers: { [name: string]: unknown; }; content: { "*/*": components["schemas"]["Document"]; }; }; + }; + }; getStats: { parameters: { query?: never; diff --git a/frontend/src/routes/briefwechsel/page.svelte.spec.ts b/frontend/src/routes/briefwechsel/page.svelte.spec.ts index 6c73da12..132ffa26 100644 --- a/frontend/src/routes/briefwechsel/page.svelte.spec.ts +++ b/frontend/src/routes/briefwechsel/page.svelte.spec.ts @@ -38,6 +38,8 @@ const makeDoc = (overrides: Record = {}) => ({ documentDate: '1923-04-12', location: 'Berlin', metadataComplete: false, + scriptType: 'UNKNOWN' as const, + needsExpert: false, sender: { id: 'p1', firstName: 'Hans', lastName: 'Müller' }, receivers: [{ id: 'p2', firstName: 'Anna', lastName: 'Schmidt' }], tags: [],