package userproduct import "time" // UserProduct is a user's food item in their pantry. type UserProduct struct { ID string `json:"id"` UserID string `json:"user_id"` PrimaryProductID *string `json:"primary_product_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 /user-products. type CreateRequest struct { PrimaryProductID *string `json:"primary_product_id"` // Accept "mapping_id" as a legacy alias for backward compatibility. 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 /user-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"` }