"""Diaper change database model.""" from typing import TYPE_CHECKING from sqlalchemy import Column, Integer, DateTime, ForeignKey, String from datetime import datetime, UTC if TYPE_CHECKING: from sqlalchemy.orm import DeclarativeBase Base = DeclarativeBase else: from baby_monitor.repositories.dependencies.get_database import Base class DiaperChange(Base): """Diaper change log database model.""" __tablename__ = "diaper_changes" id = Column(Integer, primary_key=True, index=True) child_id = Column(Integer, ForeignKey("children.id"), nullable=False) change_time = Column(DateTime(timezone=True), nullable=False) poop_amount = Column(String, nullable=True) # stores PoopAmount enum poop_color = Column(String, nullable=True) # stores PoopColor enum pee_amount = Column(String, nullable=True) # stores PeeAmount enum pee_color = Column(String, nullable=True) # stores PeeColor enum created_at = Column( DateTime(timezone=True), default=datetime.now(UTC), nullable=False ) def __repr__(self) -> str: return f""