fix parsing ricevute

This commit is contained in:
2026-06-18 16:31:29 +02:00
parent 4c90a7c1a3
commit 058c550cd2
10 changed files with 731 additions and 15 deletions
+18
View File
@@ -244,6 +244,24 @@ async def list_messages(
Message.parent_message_id.is_(None),
)
# ── Auto-filtro ricevute ───────────────────────────────────────────────────
# Esclude automaticamente i messaggi inbound di tipo ricevuta (accettazione,
# avvenuta_consegna, ecc.) quando pec_type non e' specificato esplicitamente.
# Le ricevute correttamente bindate hanno parent_message_id != NULL e sono
# gia' escluse dal filtro sopra. Quelle non bindato (race condition o invii
# da client esterni) verrebbero mostrate in inbox come messaggi normali senza
# questo filtro aggiuntivo.
# I messaggi outbound hanno sempre pec_type='posta_certificata' in questo
# sistema (non creiamo mai record outbound di tipo ricevuta) quindi il filtro
# e' trasparente per la vista posta inviata.
if pec_type is None:
q = q.where(
or_(
Message.direction == "outbound",
Message.pec_type == "posta_certificata",
)
)
if visible_mailbox_ids is not None:
if not visible_mailbox_ids:
return MessageListResponse(items=[], total=0, page=page, page_size=page_size)