Git-Repository für bestehenden archivdms-Code initialisiert, Branch-/Commit-Konvention (feature/<ticket>-<slug>-Branches, Ticket-Prefix in Commit-Nachricht) etabliert.
32 lines
1.7 KiB
SQL
32 lines
1.7 KiB
SQL
-- PROJ: Titel-Vorlage für Klassifizierungsvorlagen + globaler Tenant-Default
|
|
-- Doku-only (siehe README.md in diesem Verzeichnis) — die tatsächliche
|
|
-- Ausführung passiert idempotent über die Go-initSchema-Aufrufe:
|
|
-- * classification_templates.title_template ->
|
|
-- internal/storage/classification_templates.go (*Store).initClassificationTemplatesSchema()
|
|
-- * tenants.default_title_template ->
|
|
-- internal/tenantstore/store.go (*Store).initSchema()
|
|
--
|
|
-- Beim Anwenden einer Klassifizierungsvorlage (POST /api/documents/{id}/apply-template
|
|
-- ODER Workflow-Aktion apply_classification_template, gemeinsamer Code-Pfad in
|
|
-- internal/storage/classification_templates_apply.go ApplyTemplate) wird der
|
|
-- Dokumenttitel aus einer Go-text/template-Vorlage abgeleitet:
|
|
-- 1. title_template der Vorlage (NULL = keine),
|
|
-- 2. sonst tenant-weites default_title_template (NULL = keins),
|
|
-- 3. sonst bleibt der bestehende Titel unangetastet.
|
|
-- Gesetzt wird NUR wenn documents.title_manually_set = false; title_manually_set
|
|
-- bleibt danach false (erneute Anwendung nach späterer Korrektur möglich). Bei
|
|
-- leerem/fehlerhaftem Render-Ergebnis Fallback auf den bestehenden Titel, nie
|
|
-- leerer String.
|
|
--
|
|
-- Platzhalter (Struct-Felder): {{.Correspondent}} {{.DocumentType}}
|
|
-- {{.Belegdatum}} {{.UploadDate}} {{.Tags}} {{.OCRTitle}}
|
|
-- Custom-Func dateFormat "02.01.2006" .Belegdatum (Go-Referenzdatum, leer bei
|
|
-- unbekanntem Datum). Validierung: internal/storage/classification_templates_title.go
|
|
-- ValidateTitleTemplate (Parse ohne Execute). Tenant-Default max. 500 Zeichen.
|
|
|
|
ALTER TABLE classification_templates
|
|
ADD COLUMN IF NOT EXISTS title_template TEXT;
|
|
|
|
ALTER TABLE tenants
|
|
ADD COLUMN IF NOT EXISTS default_title_template TEXT;
|