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

class TemplatePosition(Base):
    __tablename__ = "template_positions"
    id = Column(Integer, primary_key=True, index=True)
    template_id = Column(Integer, ForeignKey("mass_templates.id"), nullable=False)
    position_number = Column(String(10), nullable=False)
    position_type_code = Column(String, ForeignKey("position_types.code"), nullable=False, default="regular")
    posisi_id = Column(Integer, ForeignKey("position_slots.id"), nullable=True)  # link ke master posisi gereja
    sort_order = Column(Integer, default=0)  # ← untuk drag & drop
    template = relationship("MassTemplate", back_populates="positions")
    position_type = relationship("PositionType")
    posisi = relationship("PositionSlot")