import enum from sqlalchemy import Column, Integer, String, TIMESTAMP, Text, ForeignKey, Enum, UniqueConstraint, func from sqlalchemy.orm import relationship from .base_model import Base class LibrarianStatusEnum(enum.Enum): active = 'active' inactive = 'inactive' class LibrarianRoleEnum(enum.Enum): staff = 'staff' admin = 'admin' class Librarian(Base): __tablename__ = 'librarian' __table_args__ = (UniqueConstraint('id'),) id = Column(Integer, primary_key=True, autoincrement=True) first_name = Column(String(50), nullable=False) last_name = Column(String(50), nullable=False) email = Column(String(100), nullable=False, unique=True) phone = Column(String(20), nullable=False) hire_date = Column(TIMESTAMP, nullable=False, server_default=func.now()) status = Column(Enum(LibrarianStatusEnum), nullable=False, default=LibrarianStatusEnum.active) role = Column(Enum(LibrarianRoleEnum), nullable=False) last_updated = Column(TIMESTAMP, nullable=False, server_default=func.now()) __all__ = ["Librarian", "LibrarianRoleEnum", "LibrarianStatusEnum"]