from sqlalchemy import Column, String, Boolean, DateTime, Text, ForeignKey from sqlalchemy.dialects.postgresql import UUID, JSONB from datetime import datetime from app.database import Base import uuid class Notification(Base): __tablename__ = "notifications" id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) user_id = Column(UUID(as_uuid=True), nullable=False, index=True) title = Column(String(255), nullable=False) content = Column(Text, nullable=False) notification_type = Column(String(50), default="system") reference_type = Column(String(50)) reference_id = Column(String(255)) is_read = Column(Boolean, default=False) notify_metadata = Column("metadata", JSONB, default={}) created_at = Column(DateTime, default=datetime.utcnow)