feat(document-sync): enhance metadata update to reset file status after preview generation

This commit is contained in:
bsiggel
2026-03-08 18:59:56 +00:00
parent ba657ecd3b
commit 4ed752b19e
2 changed files with 19 additions and 7 deletions

View File

@@ -484,10 +484,11 @@ class DocumentSync(BaseSyncUtils):
collection_ids: Optional[List[str]] = None,
file_hash: Optional[str] = None,
preview_data: Optional[bytes] = None,
reset_file_status: bool = False,
entity_type: str = 'CDokumente'
) -> None:
"""
Updated Document-Metadaten nach erfolgreichem xAI-Sync
Updated Document-Metadaten nach erfolgreichem xAI-Sync oder Preview-Generierung
Args:
document_id: EspoCRM Document ID
@@ -495,6 +496,7 @@ class DocumentSync(BaseSyncUtils):
collection_ids: Liste der xAI Collection IDs (optional)
file_hash: MD5/SHA Hash des gesyncten Files
preview_data: Vorschaubild (WebP) als bytes
reset_file_status: Ob fileStatus/dateiStatus zurückgesetzt werden soll
entity_type: Entity-Type (CDokumente oder Document)
"""
try:
@@ -511,13 +513,15 @@ class DocumentSync(BaseSyncUtils):
if collection_ids is not None:
update_data['xaiCollections'] = collection_ids
# Nur Status auf "Gesynct" setzen wenn xAI-File-ID vorhanden
if xai_file_id:
# Status zurücksetzen wenn xAI-Sync erfolgt ist ODER explizit angefordert
if xai_file_id or reset_file_status:
# CDokumente verwendet fileStatus, Document verwendet dateiStatus
if entity_type == 'CDokumente':
update_data['fileStatus'] = 'synced'
# Bei xAI-Sync: "synced", bei nur Preview: "processed"
update_data['fileStatus'] = 'synced' if xai_file_id else 'processed'
else:
update_data['dateiStatus'] = 'Gesynct'
# Bei xAI-Sync: "Gesynct", bei nur Preview: "Verarbeitet"
update_data['dateiStatus'] = 'Gesynct' if xai_file_id else 'Verarbeitet'
# Hash speichern für zukünftige Change Detection
if file_hash: