mirror of
https://github.com/RichieCahill/dotfiles.git
synced 2026-04-17 04:58:19 -04:00
27 lines
872 B
Python
27 lines
872 B
Python
"""Dead letter queue for Signal bot messages that fail processing."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from datetime import datetime
|
|
|
|
from sqlalchemy import DateTime, Text
|
|
from sqlalchemy.dialects.postgresql import ENUM
|
|
from sqlalchemy.orm import Mapped, mapped_column
|
|
|
|
from python.orm.richie.base import TableBase
|
|
from python.signal_bot.models import MessageStatus
|
|
|
|
|
|
class DeadLetterMessage(TableBase):
|
|
"""A Signal message that failed processing and was sent to the dead letter queue."""
|
|
|
|
__tablename__ = "dead_letter_message"
|
|
|
|
source: Mapped[str]
|
|
message: Mapped[str] = mapped_column(Text)
|
|
received_at: Mapped[datetime] = mapped_column(DateTime(timezone=True))
|
|
status: Mapped[MessageStatus] = mapped_column(
|
|
ENUM(MessageStatus, name="message_status", create_type=True, schema="main"),
|
|
default=MessageStatus.UNPROCESSED,
|
|
)
|