mirror of
https://github.com/idrainformatica/PecFlow.git
synced 2026-06-16 12:45:42 +02:00
Fix smtp
This commit is contained in:
@@ -341,6 +341,33 @@ class VirtualBoxService:
|
||||
)
|
||||
return list(result.scalars().all())
|
||||
|
||||
async def get_user_sendable_mailboxes(
|
||||
self,
|
||||
user_id: uuid.UUID,
|
||||
tenant_id: uuid.UUID,
|
||||
) -> list[Mailbox]:
|
||||
"""
|
||||
Restituisce le caselle PEC da cui l'utente può inviare tramite VBox.
|
||||
|
||||
Aggregazione delle caselle associate a tutte le VBox attive a cui
|
||||
l'utente è assegnato. Filtra solo caselle in stato 'active'.
|
||||
"""
|
||||
result = await self.db.execute(
|
||||
select(Mailbox)
|
||||
.join(virtual_box_mailboxes, Mailbox.id == virtual_box_mailboxes.c.mailbox_id)
|
||||
.join(VirtualBox, virtual_box_mailboxes.c.virtual_box_id == VirtualBox.id)
|
||||
.join(VirtualBoxAssignment, VirtualBox.id == VirtualBoxAssignment.virtual_box_id)
|
||||
.where(
|
||||
VirtualBoxAssignment.user_id == user_id,
|
||||
VirtualBox.tenant_id == tenant_id,
|
||||
VirtualBox.is_active == True,
|
||||
Mailbox.status == "active",
|
||||
)
|
||||
.distinct()
|
||||
.order_by(Mailbox.email_address)
|
||||
)
|
||||
return list(result.scalars().all())
|
||||
|
||||
# ─── Private ─────────────────────────────────────────────────────────────
|
||||
|
||||
async def _load_full(self, vbox_id: uuid.UUID) -> VirtualBox | None:
|
||||
|
||||
Reference in New Issue
Block a user