package diary import "time" // Entry is a single meal diary record. type Entry struct { ID string `json:"id"` Date string `json:"date"` // YYYY-MM-DD MealType string `json:"meal_type"` Name string `json:"name"` // from dishes JOIN Portions float64 `json:"portions"` Calories *float64 `json:"calories,omitempty"` // recipe.calories_per_serving * portions ProteinG *float64 `json:"protein_g,omitempty"` FatG *float64 `json:"fat_g,omitempty"` CarbsG *float64 `json:"carbs_g,omitempty"` Source string `json:"source"` DishID string `json:"dish_id"` RecipeID *string `json:"recipe_id,omitempty"` PortionG *float64 `json:"portion_g,omitempty"` JobID *string `json:"job_id,omitempty"` CreatedAt time.Time `json:"created_at"` } // CreateRequest is the body for POST /diary. type CreateRequest struct { Date string `json:"date"` MealType string `json:"meal_type"` Name string `json:"name"` // input-only; used if DishID is nil Portions float64 `json:"portions"` Source string `json:"source"` DishID *string `json:"dish_id"` RecipeID *string `json:"recipe_id"` PortionG *float64 `json:"portion_g"` JobID *string `json:"job_id"` }