from src import db
from sqlalchemy.orm import mapped_column, Mapped, relationship
from sqlalchemy import Integer, String, Boolean

class SchoolTable(db.Model):
    __tablename__ = "schools"

    id: Mapped[int] = mapped_column(Integer(), primary_key=True, autoincrement=True)
    school_name: Mapped[str] = mapped_column(String(195), nullable=False)
    school_id: Mapped[str] = mapped_column(String(195), nullable=False, unique=True)
    stream: Mapped[str] = mapped_column(String(50), nullable=False)
    isLoggedIn: Mapped[bool] = mapped_column(Boolean(), nullable=False, default=False)
    password: Mapped[str] = mapped_column(String(255), nullable=True)

    teachers = relationship("TeacherTable", back_populates="school", cascade="all, delete")
    students = relationship("StudentTable", back_populates="school", cascade="all, delete")