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

class SpecialPosition(Base):
    __tablename__ = "special_positions"
    id = Column(Integer, primary_key=True, index=True)
    special_mass_id = Column(Integer, ForeignKey("special_masses.id"), nullable=False)
    position_number = Column(String(10), nullable=False)
    position_type_code = Column(String, ForeignKey("position_types.code"), nullable=False, default="regular")
    sort_order = Column(Integer, default=0)
    created_at = Column(DateTime(timezone=True), server_default=func.now())
    posisi_id = Column(Integer, ForeignKey("position_slots.id"), nullable=True)
    special_mass = relationship("SpecialMass", back_populates="positions")
    position_type = relationship("PositionType")
    posisi = relationship("PositionSlot")