package product import "time" // Product is a user's food item in their pantry. type Product struct { ID string `json:"id"` UserID string `json:"user_id"` PrimaryIngredientID *string `json:"primary_ingredient_id"` Name string `json:"name"` Quantity float64 `json:"quantity"` Unit string `json:"unit"` Category *string `json:"category"` StorageDays int `json:"storage_days"` AddedAt time.Time `json:"added_at"` ExpiresAt time.Time `json:"expires_at"` DaysLeft int `json:"days_left"` ExpiringSoon bool `json:"expiring_soon"` } // CreateRequest is the body for POST /products. type CreateRequest struct { PrimaryIngredientID *string `json:"primary_ingredient_id"` // Accept both "primary_ingredient_id" (new) and "mapping_id" (legacy client) fields. MappingID *string `json:"mapping_id"` Name string `json:"name"` Quantity float64 `json:"quantity"` Unit string `json:"unit"` Category *string `json:"category"` StorageDays int `json:"storage_days"` } // UpdateRequest is the body for PUT /products/{id}. // All fields are optional (nil = keep existing value). type UpdateRequest struct { Name *string `json:"name"` Quantity *float64 `json:"quantity"` Unit *string `json:"unit"` Category *string `json:"category"` StorageDays *int `json:"storage_days"` }