skill-forge/API/app/domain/models/notifications.py

23 lines
920 B
Python

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')