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

class MassSchedule(Base):
    __tablename__ = "mass_schedules"
    id = Column(Integer, primary_key=True, index=True)
    template_id = Column(Integer, ForeignKey("mass_templates.id"), nullable=True)
    special_mass_id = Column(Integer, ForeignKey("special_masses.id"), nullable=True)
    date = Column(Date, nullable=False)
    notes = Column(String, nullable=True)
    is_published = Column(Boolean, default=False)
    created_at = Column(DateTime(timezone=True), server_default=func.now())
    template = relationship("MassTemplate", back_populates="schedules")
    special_mass = relationship("SpecialMass", back_populates="schedules")
    assignments = relationship("Assignment", back_populates="schedule", cascade="all, delete-orphan")