from src import db
from sqlalchemy.orm import Mapped, mapped_column, relationship
from sqlalchemy import Integer, String, ForeignKey

class SubConceptTable(db.Model):
    __tablename__ = "sub_concept"
    
    id: Mapped[int] = mapped_column(Integer(), primary_key=True, nullable=False, autoincrement=True)
    name: Mapped[str] = mapped_column(String(255), nullable=False)
    grade: Mapped[str] = mapped_column(String(255), nullable=False)
    stream: Mapped[str] = mapped_column(String(200), nullable=False)
    concept_id: Mapped[int] = mapped_column(Integer(), ForeignKey("concept.id", ondelete="CASCADE"), nullable=False)

    questions = relationship("QuestionTable", back_populates="subconcept", cascade="all, delete-orphan")