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)