Source code for mersal.outbox.outbox_message

from dataclasses import dataclass

from mersal.messages.message_headers import MessageHeaders
from mersal.messages.transport_message import TransportMessage

__all__ = ("OutboxMessage",)


[docs] @dataclass class OutboxMessage: """Outbox message that is stored in the storage. It is a simple wrapper around a transport message and its destination in addition to a unique identity given to each outbox message. """ destination_address: str "Destination address for the outbox message" headers: MessageHeaders "Message headers for the outbox message." body: bytes "Original body of the transport message." outbox_message_id: int | None = None # typing: ignore """Outbox message identifier. The default being None is to make SQLAlchemy happy https://github.com/mersal-org/mersal/issues/17 """
[docs] def transport_message(self) -> TransportMessage: """Converts the message back to a TransportMessage.""" return TransportMessage(self.body, self.headers)