from sqlalchemy import Column, Integer, Boolean, String, DateTime, ForeignKey from sqlalchemy.sql import func from sqlalchemy.orm import relationship from app.domain.models import Base class Notification(Base): __tablename__ = 'notifications' id = Column(Integer, primary_key=True, autoincrement=True) text = Column(String, nullable=False) datetime_notification = Column(DateTime, nullable=False, default=func.utcnow) is_read = Column(Boolean, nullable=False, default=False) user_id = Column(Integer, ForeignKey('users.id'), nullable=False) type_id = Column(Integer, ForeignKey('notification_types.id'), nullable=False) course_id = Column(Integer, ForeignKey('courses.id')) user = relationship('User', back_populates='notifications') type = relationship('NotificationType', back_populates='notifications') course = relationship('Course', back_populates='notifications')