feat(document-sync): enhance metadata update to reset file status after preview generation
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user