2025-05-30 20:35:55 +00:00

25 lines
1.0 KiB
Python

"""
CalorieEntry model for the application
"""
from datetime import datetime
from sqlalchemy import Column, String, Integer, DateTime, Float, ForeignKey
from sqlalchemy.orm import relationship
from app.db.base import Base
class CalorieEntry(Base):
"""CalorieEntry model for tracking user's calorie intake"""
id = Column(Integer, primary_key=True, index=True)
user_id = Column(Integer, ForeignKey("user.id"), nullable=False)
food_id = Column(Integer, ForeignKey("food.id"), nullable=False)
quantity_g = Column(Float, nullable=False)
meal_type = Column(String, nullable=True) # breakfast, lunch, dinner, snack
notes = Column(String, nullable=True)
consumed_at = Column(DateTime, default=datetime.utcnow)
created_at = Column(DateTime, default=datetime.utcnow)
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
# Relationships
user = relationship("User", back_populates="calorie_entries")
food = relationship("Food", back_populates="calorie_entries")