from src import db
from sqlalchemy.orm import mapped_column, Mapped
from sqlalchemy import Integer, String, Boolean, ForeignKey


class PrincipalTable(db.Model):
    __tablename__ = "principals"
    
    id: Mapped[int] = mapped_column(Integer(), primary_key=True, autoincrement=True)
    firstname: Mapped[str] = mapped_column(String(195), nullable=False)
    lastname: Mapped[str] = mapped_column(String(195))
    isLoggedIn: Mapped[bool] = mapped_column(Boolean(), nullable=False, default=False)
    username: Mapped[str] = mapped_column(String(255), nullable=False, unique=True)
    password: Mapped[str] = mapped_column(String(255), nullable=False)
    school_id: Mapped[int] = mapped_column(ForeignKey("schools.id"), nullable=False)
