"""DailyHealthMetrics SQLAlchemy model.""" from sqlalchemy import Column, Integer, Date, Float, ForeignKey, UniqueConstraint, String from sqlalchemy.orm import relationship from backend.database import Base class DailyHealthMetrics(Base): """Daily health metrics model for tracking health data.""" __tablename__ = "daily_health_metrics" __table_args__ = ( UniqueConstraint('user_id', 'date', name='uq_user_date'), ) id = Column(Integer, primary_key=True, index=True) user_id = Column(Integer, ForeignKey("users.id")) date = Column(Date, index=True) step_count = Column(Integer, default=0) distance_meters = Column(Float, default=0.0) calories_burned = Column(Float, default=0.0) sleep_duration_minutes = Column(Integer, default=0) deep_sleep_minutes = Column(Integer, default=0) light_sleep_minutes = Column(Integer, default=0) rem_sleep_minutes = Column(Integer, default=0) awake_duration_minutes = Column(Integer, default=0) avg_heart_rate = Column(Integer, nullable=True) min_heart_rate = Column(Integer, nullable=True) max_heart_rate = Column(Integer, nullable=True) avg_spo2 = Column(Float, nullable=True) pai_score = Column(Float, default=0.0) weight = Column(Float, nullable=True) resting_heart_rate = Column(Integer, nullable=True) hrv = Column(Float, nullable=True) # Data provenance tracking data_source = Column(String(50), default="health_connect") # "health_connect", "manual" user = relationship("User", back_populates="health_metrics")