mirror of
https://github.com/idrainformatica/PecFlow.git
synced 2026-06-16 12:45:42 +02:00
Fix Associazione ricevute
This commit is contained in:
@@ -362,8 +362,16 @@ async def bulk_update_messages(
|
||||
message.archived_at = None
|
||||
|
||||
await db.commit()
|
||||
for message in messages:
|
||||
await db.refresh(message)
|
||||
|
||||
# Ricarica i messaggi aggiornati con selectinload per evitare MissingGreenlet sui labels
|
||||
if messages:
|
||||
updated_ids = [m.id for m in messages]
|
||||
refreshed_result = await db.execute(
|
||||
select(Message)
|
||||
.where(Message.id.in_(updated_ids))
|
||||
.options(selectinload(Message.labels))
|
||||
)
|
||||
messages = list(refreshed_result.scalars().all())
|
||||
|
||||
return MessageBulkUpdateResponse(
|
||||
updated=len(messages),
|
||||
@@ -407,7 +415,13 @@ async def update_message(
|
||||
message.archived_at = None
|
||||
|
||||
await db.commit()
|
||||
await db.refresh(message)
|
||||
# Re-query con selectinload per evitare MissingGreenlet sui labels
|
||||
refreshed = await db.execute(
|
||||
select(Message)
|
||||
.where(Message.id == message_id)
|
||||
.options(selectinload(Message.labels))
|
||||
)
|
||||
message = refreshed.scalar_one()
|
||||
return MessageResponse.model_validate(message)
|
||||
|
||||
|
||||
@@ -508,6 +522,7 @@ async def list_receipts(
|
||||
result = await db.execute(
|
||||
select(Message)
|
||||
.where(Message.parent_message_id == message_id)
|
||||
.options(selectinload(Message.labels))
|
||||
.order_by(Message.received_at.asc().nullslast(), Message.created_at.asc())
|
||||
)
|
||||
receipts = list(result.scalars().all())
|
||||
|
||||
Reference in New Issue
Block a user