From 9a1e1d6726bbf5e3c3f9f9670b8096fbaed7d7fb Mon Sep 17 00:00:00 2001 From: Fanilo-Nantenaina Date: Tue, 6 Jan 2026 15:41:03 +0300 Subject: [PATCH] Uniformed function --- services/universign_sync.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/services/universign_sync.py b/services/universign_sync.py index da89390..f4f288c 100644 --- a/services/universign_sync.py +++ b/services/universign_sync.py @@ -214,20 +214,21 @@ class UniversignSyncService: return True, None - # ======================================== - # 3. SYNCHRONISATION DE MASSE (POLLING) - # ======================================== - async def sync_all_pending( self, session: AsyncSession, max_transactions: int = 50 ) -> Dict[str, int]: + """ + Synchronise toutes les transactions en attente + """ + from sqlalchemy.orm import selectinload # Si pas déjà importé en haut + query = ( select(UniversignTransaction) + .options(selectinload(UniversignTransaction.signers)) # AJOUTER CETTE LIGNE .where( and_( UniversignTransaction.needs_sync, or_( - # Transactions non finales ~UniversignTransaction.local_status.in_( [ LocalDocumentStatus.SIGNED, @@ -235,10 +236,8 @@ class UniversignSyncService: LocalDocumentStatus.EXPIRED, ] ), - # OU dernière sync > 1h (vérification finale) UniversignTransaction.last_synced_at < (datetime.now() - timedelta(hours=1)), - # OU jamais synchronisé UniversignTransaction.last_synced_at.is_(None), ), )