Uniformed function

This commit is contained in:
Fanilo-Nantenaina 2026-01-06 15:41:03 +03:00
parent c24f276ce4
commit 9a1e1d6726

View file

@ -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),
),
)