from src import db
from sqlalchemy.orm import Mapped, mapped_column
from sqlalchemy import Integer, ForeignKey, Boolean, Float, DateTime
from datetime import datetime, timezone

class RankingTable(db.Model):
    __tablename__ = "ranking_stats"
    
    id: Mapped[int] = mapped_column(Integer(), primary_key=True, autoincrement=True)
    student_id: Mapped[int] = mapped_column(Integer(), ForeignKey("students.id"), nullable=False)
    question_id: Mapped[int] = mapped_column(Integer(), ForeignKey("question_table.id"))
    is_correct: Mapped[bool] = mapped_column(Boolean(), nullable=False)
    time_taken_sec: Mapped[float] = mapped_column(Float(), nullable=False)
    attempted_at: Mapped[datetime] = mapped_column(DateTime(timezone=True),default=lambda: datetime.now(timezone.utc))
    