"""Sleep database model.""" from typing import TYPE_CHECKING from datetime import datetime, UTC from sqlalchemy import Column, Integer, DateTime, ForeignKey if TYPE_CHECKING: from sqlalchemy.orm import DeclarativeBase Base = DeclarativeBase else: from baby_monitor.repositories.dependencies.get_database import Base class Sleep(Base): """Sleep log database model.""" __tablename__ = "sleep_logs" id = Column(Integer, primary_key=True, index=True) child_id = Column(Integer, ForeignKey("children.id"), nullable=False) start_time = Column(DateTime(timezone=True), nullable=False) end_time = Column(DateTime(timezone=True), nullable=True) created_at = Column( DateTime(timezone=True), default=datetime.now(UTC), nullable=False ) def __repr__(self) -> str: return f""