Implement Blake3 hashing in CDokumente; update related metadata and localization files
This commit is contained in:
@@ -3,8 +3,7 @@
|
||||
"dokument": "Download",
|
||||
"preview": "Vorschau",
|
||||
"ydocumentuuid": "Y-Document-UUID",
|
||||
"md5sum": "MD5-Prüfsumme",
|
||||
"sha256": "SHA256-Prüfsumme",
|
||||
"blake3hash": "Blake3-Hash",
|
||||
"fileStatus": "Datei-Status",
|
||||
"contactsvmhdokumente": "Freigegebene Nutzer",
|
||||
"vmhMietverhltnisesDokumente": "Mietverhältnisse",
|
||||
@@ -41,6 +40,7 @@
|
||||
"Create CDokumente": "Dokument erstellen"
|
||||
},
|
||||
"tooltips": {
|
||||
"blake3hash": "Kryptografischer Blake3-Hash der Datei (schneller und sicherer als MD5/SHA256)",
|
||||
"fileStatus": "Status der Datei: new = neu hochgeladen, changed = geändert, synced = synchronisiert"
|
||||
},
|
||||
"options": {
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
"vmhErstgespraechsdokumente": "Initial Consultations",
|
||||
"vmhRumungsklagesdokumente": "Eviction Lawsuits",
|
||||
"kuendigungDokumente": "Terminations",
|
||||
"md5sum": "MD5 Checksum",
|
||||
"sha256": "SHA256 Checksum",
|
||||
"blake3hash": "Blake3 Hash",
|
||||
"beteiligte2dokumente": "Parties",
|
||||
"mietobjekt2dokumente": "Properties",
|
||||
"mietinkassosdokumente": "Rent Collection",
|
||||
@@ -47,6 +46,7 @@
|
||||
"listForAIKnowledge": "List for AI Knowledge"
|
||||
},
|
||||
"tooltips": {
|
||||
"blake3hash": "Cryptographic Blake3 hash of the file (faster and more secure than MD5/SHA256)",
|
||||
"fileStatus": "File status: new = newly uploaded, changed = modified, synced = synchronized"
|
||||
},
|
||||
"options": {
|
||||
|
||||
@@ -61,13 +61,9 @@
|
||||
"name": "fileStatus"
|
||||
},
|
||||
{
|
||||
"name": "md5sum"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"name": "sha256"
|
||||
}
|
||||
"name": "blake3hash"
|
||||
},
|
||||
{}
|
||||
]
|
||||
],
|
||||
"dynamicLogicVisible": null,
|
||||
|
||||
@@ -59,21 +59,14 @@
|
||||
"readOnlyAfterCreate": false,
|
||||
"isCustom": true
|
||||
},
|
||||
"md5sum": {
|
||||
"blake3hash": {
|
||||
"type": "varchar",
|
||||
"maxLength": 32,
|
||||
"maxLength": 64,
|
||||
"copyToClipboard": true,
|
||||
"readOnlyAfterCreate": true,
|
||||
"options": [],
|
||||
"isCustom": true
|
||||
},
|
||||
"sha256": {
|
||||
"type": "varchar",
|
||||
"maxLength": 64,
|
||||
"readOnlyAfterCreate": true,
|
||||
"options": [],
|
||||
"isCustom": true,
|
||||
"copyToClipboard": true
|
||||
"tooltip": true
|
||||
},
|
||||
"puls": {
|
||||
"type": "link",
|
||||
@@ -298,14 +291,9 @@
|
||||
"id"
|
||||
]
|
||||
},
|
||||
"md5sum": {
|
||||
"blake3hash": {
|
||||
"columns": [
|
||||
"md5sum"
|
||||
]
|
||||
},
|
||||
"sha256": {
|
||||
"columns": [
|
||||
"sha256"
|
||||
"blake3hash"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"beforeSaveScript": "// Automatische x.AI Sync-Status Verwaltung\n\n// Fall 1: xaiId wurde gelöscht (war vorher vorhanden, jetzt leer)\nif (\n attribute\\fetched('xaiId') != null &&\n xaiId == null\n) {\n xaiSyncStatus = 'no_sync';\n}\n// Fall 2: xaiId wird neu gesetzt (war vorher leer, jetzt gefüllt)\nelse if (\n attribute\\fetched('xaiId') == null &&\n xaiId != null\n) {\n xaiSyncStatus = 'pending_sync';\n}\n// Fall 3: Dokument hat xaiId und relevante Felder haben sich geändert\nelse if (\n xaiId != null &&\n xaiSyncStatus != 'no_sync' &&\n (\n attribute\\isChanged('name') ||\n attribute\\isChanged('description') ||\n attribute\\isChanged('dokumentId') ||\n attribute\\isChanged('md5sum') ||\n attribute\\isChanged('sha256')\n )\n) {\n xaiSyncStatus = 'unclean';\n}\n// Fall 4: Bei neuem Dokument MIT xaiId → pending_sync\nelse if (\n entity\\isNew() &&\n xaiId != null\n) {\n xaiSyncStatus = 'pending_sync';\n}\n// Fall 5: Bei neuem Dokument OHNE xaiId → no_sync\nelse if (\n entity\\isNew() &&\n xaiId == null\n) {\n xaiSyncStatus = 'no_sync';\n}\n\n// Automatische Advoware Sync-Status Verwaltung\n\n// Fall 1: aktennr wurde gelöscht (war vorher vorhanden, jetzt leer)\nif (\n attribute\\fetched('aktennr') != null &&\n aktennr == null\n) {\n syncStatus = 'no_sync';\n}\n// Fall 2: aktennr wird neu gesetzt (war vorher leer, jetzt gefüllt)\nelse if (\n attribute\\fetched('aktennr') == null &&\n aktennr != null\n) {\n syncStatus = 'pending_sync';\n}\n// Fall 3: Dokument hat aktennr und relevante Felder haben sich geändert\nelse if (\n aktennr != null &&\n syncStatus != 'no_sync' &&\n (\n attribute\\isChanged('name') ||\n attribute\\isChanged('description') ||\n attribute\\isChanged('dokumentId') ||\n attribute\\isChanged('md5sum') ||\n attribute\\isChanged('sha256')\n )\n) {\n syncStatus = 'unclean';\n}\n// Fall 4: Bei neuem Dokument MIT aktennr → pending_sync\nelse if (\n entity\\isNew() &&\n aktennr != null\n) {\n syncStatus = 'pending_sync';\n}\n// Fall 5: Bei neuem Dokument OHNE aktennr → no_sync\nelse if (\n entity\\isNew() &&\n aktennr == null\n) {\n syncStatus = 'no_sync';\n}"
|
||||
"beforeSaveScript": "// Automatische x.AI Sync-Status Verwaltung\n\n// Fall 1: xaiId wurde gelöscht (war vorher vorhanden, jetzt leer)\nif (\n attribute\\fetched('xaiId') != null &&\n xaiId == null\n) {\n xaiSyncStatus = 'no_sync';\n}\n// Fall 2: xaiId wird neu gesetzt (war vorher leer, jetzt gefüllt)\nelse if (\n attribute\\fetched('xaiId') == null &&\n xaiId != null\n) {\n xaiSyncStatus = 'pending_sync';\n}\n// Fall 3: Dokument hat xaiId und relevante Felder haben sich geändert\nelse if (\n xaiId != null &&\n xaiSyncStatus != 'no_sync' &&\n (\n attribute\\isChanged('name') ||\n attribute\\isChanged('description') ||\n attribute\\isChanged('dokumentId') ||\n attribute\\isChanged('blake3hash')\n )\n) {\n xaiSyncStatus = 'unclean';\n}\n// Fall 4: Bei neuem Dokument MIT xaiId → pending_sync\nelse if (\n entity\\isNew() &&\n xaiId != null\n) {\n xaiSyncStatus = 'pending_sync';\n}\n// Fall 5: Bei neuem Dokument OHNE xaiId → no_sync\nelse if (\n entity\\isNew() &&\n xaiId == null\n) {\n xaiSyncStatus = 'no_sync';\n}\n\n// Automatische Advoware Sync-Status Verwaltung\n\n// Fall 1: aktennr wurde gelöscht (war vorher vorhanden, jetzt leer)\nif (\n attribute\\fetched('aktennr') != null &&\n aktennr == null\n) {\n syncStatus = 'no_sync';\n}\n// Fall 2: aktennr wird neu gesetzt (war vorher leer, jetzt gefüllt)\nelse if (\n attribute\\fetched('aktennr') == null &&\n aktennr != null\n) {\n syncStatus = 'pending_sync';\n}\n// Fall 3: Dokument hat aktennr und relevante Felder haben sich geändert\nelse if (\n aktennr != null &&\n syncStatus != 'no_sync' &&\n (\n attribute\\isChanged('name') ||\n attribute\\isChanged('description') ||\n attribute\\isChanged('dokumentId') ||\n attribute\\isChanged('blake3hash')\n )\n) {\n syncStatus = 'unclean';\n}\n// Fall 4: Bei neuem Dokument MIT aktennr → pending_sync\nelse if (\n entity\\isNew() &&\n aktennr != null\n) {\n syncStatus = 'pending_sync';\n}\n// Fall 5: Bei neuem Dokument OHNE aktennr → no_sync\nelse if (\n entity\\isNew() &&\n aktennr == null\n) {\n syncStatus = 'no_sync';\n}"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user