From 6cf060159092dc0aebae9941736e526673f8c099 Mon Sep 17 00:00:00 2001 From: Marcel Date: Wed, 22 Apr 2026 21:34:03 +0200 Subject: [PATCH] feat(db): add thumbnail_key and thumbnail_generated_at to documents Adds two nullable columns to the documents table and their JPA mappings on the Document entity. Both are left out of the OpenAPI required-mode schema so the generated TypeScript type exposes them as optional. Refs #307 Co-Authored-By: Claude Opus 4.7 --- .../java/org/raddatz/familienarchiv/model/Document.java | 7 +++++++ .../db/migration/V52__add_document_thumbnails.sql | 3 +++ 2 files changed, 10 insertions(+) create mode 100644 backend/src/main/resources/db/migration/V52__add_document_thumbnails.sql diff --git a/backend/src/main/java/org/raddatz/familienarchiv/model/Document.java b/backend/src/main/java/org/raddatz/familienarchiv/model/Document.java index 5a5ca54a..d2cea5da 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/model/Document.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/model/Document.java @@ -43,6 +43,13 @@ public class Document { @Column(name = "file_hash", length = 64) private String fileHash; + // S3 key of the generated thumbnail (e.g. "thumbnails/{docId}.jpg"); null until generated + @Column(name = "thumbnail_key") + private String thumbnailKey; + + @Column(name = "thumbnail_generated_at") + private LocalDateTime thumbnailGeneratedAt; + // Originaler Dateiname beim Upload (z.B. "Brief_Oma_1940.pdf") @Column(name = "original_filename", nullable = false) @Schema(requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/backend/src/main/resources/db/migration/V52__add_document_thumbnails.sql b/backend/src/main/resources/db/migration/V52__add_document_thumbnails.sql new file mode 100644 index 00000000..f848a49c --- /dev/null +++ b/backend/src/main/resources/db/migration/V52__add_document_thumbnails.sql @@ -0,0 +1,3 @@ +ALTER TABLE documents + ADD COLUMN thumbnail_key VARCHAR(255), + ADD COLUMN thumbnail_generated_at TIMESTAMP;