| 12345678910111213141516171819 |
- from datetime import datetime
- from sqlalchemy import Column, Integer, String, DateTime, JSON
- from app.core.database import Base
- class NotificationOutbox(Base):
- __tablename__ = "notification_outbox"
- id = Column(Integer, primary_key=True, autoincrement=True)
- msg_id = Column(String(64), nullable=False, unique=True)
- channel = Column(String(32), nullable=False)
- payload = Column(JSON, nullable=False)
- priority = Column(Integer, default=10)
- status = Column(String(16), default="pending")
- attempts = Column(Integer, default=0)
- next_retry_at = Column(DateTime, nullable=True)
- created_at = Column(DateTime, default=datetime.utcnow)
- updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
|