feat: Add file status tracking to CDokumente entity; implement beforeSave hook for hash calculation and status determination

This commit is contained in:
2026-03-03 08:17:51 +01:00
parent ba986a32fe
commit ec25089ab4
7 changed files with 103 additions and 6 deletions

View File

@@ -11,6 +11,7 @@
"xaiId": "x.AI ID",
"xaiCollections": "x.AI Collections",
"xaiSyncStatus": "Sync-Status",
"fileStatus": "Datei-Status",
"contactsvmhdokumente": "Freigegebene Nutzer",
"vmhMietverhltnisesDokumente": "Mietverhältnisse",
"vmhErstgespraechsdokumente": "Erstgespräche",
@@ -41,7 +42,8 @@
"syncStatus": "Status der Synchronisation: pending_sync = Warte auf Sync, clean = erfolgreich, unclean = Abweichungen, failed = Fehler",
"xaiId": "Eindeutige ID für x.AI Synchronisation",
"xaiCollections": "Liste der x.AI Collections für dieses Dokument",
"xaiSyncStatus": "Status der x.AI Synchronisation: pending_sync = Warte auf Sync, clean = erfolgreich, unclean = Abweichungen, failed = Fehler"
"xaiSyncStatus": "Status der x.AI Synchronisation: pending_sync = Warte auf Sync, clean = erfolgreich, unclean = Abweichungen, failed = Fehler",
"fileStatus": "Status der Datei: new = neu hochgeladen, changed = geändert, unchanged = unverändert"
},
"options": {
"syncStatus": {
@@ -55,6 +57,11 @@
"clean": "Synchronisiert",
"unclean": "Abweichungen",
"failed": "Fehlgeschlagen"
},
"fileStatus": {
"new": "Neu",
"changed": "Geändert",
"unchanged": "Unverändert"
}
}
}

View File

@@ -19,7 +19,8 @@
"syncStatus": "Sync Status",
"xaiId": "x.AI ID",
"xaiCollections": "x.AI Collections",
"xaiSyncStatus": "Sync Status"
"xaiSyncStatus": "Sync Status",
"fileStatus": "File Status"
},
"links": {
"contactsvmhdokumente": "Portal Users",
@@ -44,7 +45,8 @@
"syncStatus": "Synchronization status: pending_sync = Waiting for sync, clean = successful, unclean = discrepancies, failed = error",
"xaiId": "Unique ID for x.AI synchronization",
"xaiCollections": "List of x.AI collections for this document",
"xaiSyncStatus": "x.AI synchronization status: pending_sync = Waiting for sync, clean = successful, unclean = discrepancies, failed = error"
"xaiSyncStatus": "x.AI synchronization status: pending_sync = Waiting for sync, clean = successful, unclean = discrepancies, failed = error",
"fileStatus": "File status: new = newly uploaded, changed = modified, unchanged = unchanged"
},
"options": {
"syncStatus": {
@@ -58,6 +60,11 @@
"clean": "Synchronized",
"unclean": "Discrepancies",
"failed": "Failed"
},
"fileStatus": {
"new": "New",
"changed": "Changed",
"unchanged": "Unchanged"
}
}
}

View File

@@ -63,6 +63,11 @@
{
"name": "sha256"
}
],
[
{
"name": "fileStatus"
}
]
],
"dynamicLogicVisible": null,

View File

@@ -138,6 +138,24 @@
"default": "pending_sync",
"tooltip": true,
"isCustom": true
},
"fileStatus": {
"type": "enum",
"required": false,
"options": [
"new",
"changed",
"unchanged"
],
"style": {
"new": "info",
"changed": "warning",
"unchanged": "success"
},
"default": "new",
"readOnly": true,
"tooltip": true,
"isCustom": true
}
},
"links": {