feat(documents): add ScriptType enum and script_type column
- ScriptType enum: UNKNOWN, TYPEWRITER, HANDWRITING_LATIN, HANDWRITING_KURRENT - V24 migration adds script_type VARCHAR(30) NOT NULL DEFAULT 'UNKNOWN' - Document entity: scriptType field with @Builder.Default UNKNOWN - DocumentUpdateDTO: optional scriptType field - DocumentService: wires scriptType through update method Refs #226 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,7 @@ import java.util.List;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.raddatz.familienarchiv.model.ScriptType;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class DocumentUpdateDTO {
|
public class DocumentUpdateDTO {
|
||||||
@@ -18,4 +19,5 @@ public class DocumentUpdateDTO {
|
|||||||
private List<UUID> receiverIds;
|
private List<UUID> receiverIds;
|
||||||
private String tags;
|
private String tags;
|
||||||
private Boolean metadataComplete;
|
private Boolean metadataComplete;
|
||||||
|
private ScriptType scriptType;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,6 +91,12 @@ public class Document {
|
|||||||
@Builder.Default
|
@Builder.Default
|
||||||
private boolean metadataComplete = false;
|
private boolean metadataComplete = false;
|
||||||
|
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "script_type", nullable = false)
|
||||||
|
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@Builder.Default
|
||||||
|
private ScriptType scriptType = ScriptType.UNKNOWN;
|
||||||
|
|
||||||
@ManyToMany(fetch = FetchType.EAGER)
|
@ManyToMany(fetch = FetchType.EAGER)
|
||||||
@JoinTable(name = "document_receivers", joinColumns = @JoinColumn(name = "document_id"), inverseJoinColumns = @JoinColumn(name = "person_id"))
|
@JoinTable(name = "document_receivers", joinColumns = @JoinColumn(name = "document_id"), inverseJoinColumns = @JoinColumn(name = "person_id"))
|
||||||
@Builder.Default
|
@Builder.Default
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package org.raddatz.familienarchiv.model;
|
||||||
|
|
||||||
|
public enum ScriptType {
|
||||||
|
UNKNOWN,
|
||||||
|
TYPEWRITER,
|
||||||
|
HANDWRITING_LATIN,
|
||||||
|
HANDWRITING_KURRENT
|
||||||
|
}
|
||||||
@@ -222,6 +222,10 @@ public class DocumentService {
|
|||||||
doc.setMetadataComplete(dto.getMetadataComplete());
|
doc.setMetadataComplete(dto.getMetadataComplete());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (dto.getScriptType() != null) {
|
||||||
|
doc.setScriptType(dto.getScriptType());
|
||||||
|
}
|
||||||
|
|
||||||
// 4. Datei austauschen (nur wenn eine neue ausgewählt wurde)
|
// 4. Datei austauschen (nur wenn eine neue ausgewählt wurde)
|
||||||
if (newFile != null && !newFile.isEmpty()) {
|
if (newFile != null && !newFile.isEmpty()) {
|
||||||
FileService.UploadResult upload = fileService.uploadFile(newFile, newFile.getOriginalFilename());
|
FileService.UploadResult upload = fileService.uploadFile(newFile, newFile.getOriginalFilename());
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
ALTER TABLE documents ADD COLUMN script_type VARCHAR(30) NOT NULL DEFAULT 'UNKNOWN';
|
||||||
Reference in New Issue
Block a user