Refactor Blake3 hashing implementation in CDokumente; update localization and metadata files

This commit is contained in:
2026-03-11 22:45:42 +01:00
parent 80dc3b40d3
commit 51d9f7fa22
7 changed files with 27 additions and 129 deletions

View File

@@ -41,7 +41,7 @@ class CDokumente extends \Espo\Core\Hooks\Base
return; return;
} }
$newBlake3 = bin2hex(blake3($fileContent)); $newBlake3 = \blake3($fileContent);
// Setze Hash // Setze Hash
$entity->set('blake3hash', $newBlake3); $entity->set('blake3hash', $newBlake3);

View File

@@ -2,9 +2,7 @@
"fields": { "fields": {
"dokument": "Download", "dokument": "Download",
"preview": "Vorschau", "preview": "Vorschau",
"ydocumentuuid": "Y-Document-UUID",
"blake3hash": "Blake3-Hash", "blake3hash": "Blake3-Hash",
"fileStatus": "Datei-Status",
"contactsvmhdokumente": "Freigegebene Nutzer", "contactsvmhdokumente": "Freigegebene Nutzer",
"vmhMietverhltnisesDokumente": "Mietverhältnisse", "vmhMietverhltnisesDokumente": "Mietverhältnisse",
"vmhErstgespraechsdokumente": "Erstgespräche", "vmhErstgespraechsdokumente": "Erstgespräche",
@@ -40,14 +38,6 @@
"Create CDokumente": "Dokument erstellen" "Create CDokumente": "Dokument erstellen"
}, },
"tooltips": { "tooltips": {
"blake3hash": "Kryptografischer Blake3-Hash der Datei (schneller und sicherer als MD5/SHA256)", "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": {
"fileStatus": {
"new": "Neu",
"changed": "Geändert",
"synced": "Synchronisiert"
}
} }
} }

View File

@@ -1,7 +1,6 @@
{ {
"fields": { "fields": {
"dokument": "Download", "dokument": "Download",
"ydocumentuuid": "Y-Document-UUID",
"preview": "Preview", "preview": "Preview",
"contactsvmhdokumente": "Portal Users", "contactsvmhdokumente": "Portal Users",
"vmhMietverhltnisesDokumente": "Tenancies", "vmhMietverhltnisesDokumente": "Tenancies",
@@ -13,8 +12,6 @@
"mietobjekt2dokumente": "Properties", "mietobjekt2dokumente": "Properties",
"mietinkassosdokumente": "Rent Collection", "mietinkassosdokumente": "Rent Collection",
"kndigungensdokumente": "Terminations", "kndigungensdokumente": "Terminations",
"fileStatus": "File Status",
"advowareAktens": "Advoware Akten",
"advowareAktens": "Advoware Akten", "advowareAktens": "Advoware Akten",
"aIKnowledges": "AI Knowledge", "aIKnowledges": "AI Knowledge",
"advowareAktenHnr": "Advoware HNR", "advowareAktenHnr": "Advoware HNR",
@@ -46,14 +43,6 @@
"listForAIKnowledge": "List for AI Knowledge" "listForAIKnowledge": "List for AI Knowledge"
}, },
"tooltips": { "tooltips": {
"blake3hash": "Cryptographic Blake3 hash of the file (faster and more secure than MD5/SHA256)", "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": {
"fileStatus": {
"new": "New",
"changed": "Changed",
"synced": "Synchronized"
}
} }
} }

View File

@@ -40,9 +40,8 @@
"rows": [ "rows": [
[ [
{ {
"name": "ydocumentuuid" "name": "blake3hash"
}, }
{}
] ]
], ],
"dynamicLogicVisible": null, "dynamicLogicVisible": null,
@@ -52,73 +51,6 @@
"hidden": false, "hidden": false,
"noteText": null, "noteText": null,
"noteStyle": "info", "noteStyle": "info",
"customLabel": "Externe Identifikatoren"
},
{
"rows": [
[
{
"name": "fileStatus"
},
{
"name": "blake3hash"
},
{}
]
],
"dynamicLogicVisible": null,
"style": "default",
"tabBreak": false,
"tabLabel": null,
"hidden": false,
"noteText": null,
"noteStyle": "info",
"customLabel": "Technische Daten" "customLabel": "Technische Daten"
},
{
"rows": [
[
{
"name": "aktennr"
},
{
"name": "syncStatus"
},
{
"name": "advowareLastSync"
}
]
],
"dynamicLogicVisible": null,
"style": "default",
"tabBreak": false,
"tabLabel": null,
"hidden": false,
"noteText": null,
"noteStyle": "info",
"customLabel": "Advoware Sync"
},
{
"rows": [
[
{
"name": "xaiId"
},
{
"name": "xaiCollections"
},
{
"name": "xaiSyncStatus"
}
]
],
"dynamicLogicVisible": null,
"style": "default",
"tabBreak": false,
"tabLabel": null,
"hidden": false,
"noteText": null,
"noteStyle": "info",
"customLabel": "x.AI Sync"
} }
] ]

View File

@@ -45,13 +45,6 @@
"isCustom": true, "isCustom": true,
"audited": true "audited": true
}, },
"ydocumentuuid": {
"type": "varchar",
"maxLength": 100,
"readOnlyAfterCreate": true,
"options": [],
"isCustom": true
},
"preview": { "preview": {
"type": "image", "type": "image",
"previewSize": "medium", "previewSize": "medium",
@@ -63,7 +56,7 @@
"type": "varchar", "type": "varchar",
"maxLength": 64, "maxLength": 64,
"copyToClipboard": true, "copyToClipboard": true,
"readOnlyAfterCreate": true, "readOnlyAfterCreate": false,
"options": [], "options": [],
"isCustom": true, "isCustom": true,
"tooltip": true "tooltip": true
@@ -73,59 +66,53 @@
"entity": "CPuls", "entity": "CPuls",
"isCustom": true "isCustom": true
}, },
"fileStatus": {
"type": "enum",
"required": false,
"options": [
"new",
"changed",
"synced"
],
"style": {
"new": "info",
"changed": "warning",
"synced": "success"
},
"default": "new",
"readOnly": false,
"tooltip": true,
"isCustom": true
},
"advowareAktenHnr": { "advowareAktenHnr": {
"type": "int", "type": "int",
"notStorable": true, "notStorable": true,
"utility": true, "utility": true,
"layoutAvailabilityList": ["listForAdvowareAkten"] "layoutAvailabilityList": [
"listForAdvowareAkten"
]
}, },
"advowareAktenSyncstatus": { "advowareAktenSyncstatus": {
"type": "varchar", "type": "varchar",
"notStorable": true, "notStorable": true,
"utility": true, "utility": true,
"layoutAvailabilityList": ["listForAdvowareAkten"] "layoutAvailabilityList": [
"listForAdvowareAkten"
]
}, },
"advowareAktenLastSync": { "advowareAktenLastSync": {
"type": "datetime", "type": "datetime",
"notStorable": true, "notStorable": true,
"utility": true, "utility": true,
"layoutAvailabilityList": ["listForAdvowareAkten"] "layoutAvailabilityList": [
"listForAdvowareAkten"
]
}, },
"aiKnowledgeAiDocumentId": { "aiKnowledgeAiDocumentId": {
"type": "varchar", "type": "varchar",
"notStorable": true, "notStorable": true,
"utility": true, "utility": true,
"layoutAvailabilityList": ["listForAIKnowledge"] "layoutAvailabilityList": [
"listForAIKnowledge"
]
}, },
"aiKnowledgeSyncstatus": { "aiKnowledgeSyncstatus": {
"type": "varchar", "type": "varchar",
"notStorable": true, "notStorable": true,
"utility": true, "utility": true,
"layoutAvailabilityList": ["listForAIKnowledge"] "layoutAvailabilityList": [
"listForAIKnowledge"
]
}, },
"aiKnowledgeLastSync": { "aiKnowledgeLastSync": {
"type": "datetime", "type": "datetime",
"notStorable": true, "notStorable": true,
"utility": true, "utility": true,
"layoutAvailabilityList": ["listForAIKnowledge"] "layoutAvailabilityList": [
"listForAIKnowledge"
]
} }
}, },
"links": { "links": {

View File

@@ -360,7 +360,7 @@ return [
0 => 'youtube.com', 0 => 'youtube.com',
1 => 'google.com' 1 => 'google.com'
], ],
'microtime' => 1773264000.882682, 'microtime' => 1773265335.978323,
'siteUrl' => 'https://crm.bitbylaw.com', 'siteUrl' => 'https://crm.bitbylaw.com',
'fullTextSearchMinLength' => 4, 'fullTextSearchMinLength' => 4,
'webSocketUrl' => 'ws://api.bitbylaw.com:5000/espocrm/ws', 'webSocketUrl' => 'ws://api.bitbylaw.com:5000/espocrm/ws',

View File

@@ -1,7 +1,7 @@
<?php <?php
return [ return [
'cacheTimestamp' => 1773264001, 'cacheTimestamp' => 1773265336,
'microtimeState' => 1773264001.003279, 'microtimeState' => 1773265336.114728,
'currencyRates' => [ 'currencyRates' => [
'EUR' => 1.0 'EUR' => 1.0
], ],