from sqlalchemy import Column, Integer, ForeignKey, TIMESTAMP, String, func
from sqlalchemy.orm import relationship
from db.session import Base
class UserCourseLog(Base):
    __tablename__ = "user_course_logs"

    id = Column(Integer, primary_key=True, index=True, autoincrement=True)
    user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE", onupdate="CASCADE"), nullable=False, index=True)
    platform_id = Column(Integer, ForeignKey("lms_platforms.id", ondelete="CASCADE", onupdate="CASCADE"), nullable=False, index=True)
    number_of_course = Column(Integer, nullable=False)
    type = Column(String(50), nullable=False)
    created_at = Column(TIMESTAMP, server_default=func.now(), nullable=False)
    updated_at = Column(TIMESTAMP, server_default=func.now(), onupdate=func.now(), nullable=False)

    # Relationship with users table
    user = relationship("User", back_populates="course_logs")
    lmsPlateForm = relationship("LMSPlatform", back_populates="userCourseLogs")
