from sqlalchemy import Column, Integer, String, Boolean, ForeignKey, Enum
from sqlalchemy.orm import relationship
from app.database import Base
import enum

class PositionType(str, enum.Enum):
    sr = "sr"
    regular = "regular"
    r = "r"
    pj = "pj"

class ChurchSide(str, enum.Enum):
    left = "left"
    right = "right"

class MassPosition(Base):
    __tablename__ = "mass_positions"
    id = Column(Integer, primary_key=True, index=True)
    mass_schedule_id = Column(Integer, ForeignKey("mass_schedules.id"), nullable=False)
    position_label = Column(String, nullable=False)
    position_type = Column(Enum(PositionType), nullable=False)
    church_side = Column(Enum(ChurchSide), nullable=True)
    row_number = Column(Integer)
    col_number = Column(Integer)
    slots = Column(Integer, default=1)
    mass_schedule = relationship("MassSchedule", back_populates="positions")
    assignments = relationship("Assignment", back_populates="position")