from sqlalchemy import Column, Integer, ForeignKey, DateTime, Boolean from sqlalchemy.orm import relationship from sqlalchemy.sql import func from app.domain.models.base import BaseModel class ScheduledAppointment(BaseModel): __tablename__ = 'scheduled_appointments' scheduled_datetime = Column(DateTime, nullable=False, server_default=func.now()) is_canceled = Column(Boolean, nullable=False, default=False, server_default='false') patient_id = Column(Integer, ForeignKey('patients.id'), nullable=False) doctor_id = Column(Integer, ForeignKey('users.id'), nullable=False) type_id = Column(Integer, ForeignKey('appointment_types.id'), nullable=False) patient = relationship('Patient', back_populates='scheduled_appointments') doctor = relationship('User', back_populates='scheduled_appointments') type = relationship('AppointmentType', back_populates='scheduled_appointments')