fixes graphics
This commit is contained in:
@@ -52,6 +52,17 @@ class WeightCreate(BaseModel):
|
||||
recorded_at: str | None = None
|
||||
|
||||
|
||||
class BodyMetricUpdate(BaseModel):
|
||||
weight_kg: float | None = Field(default=None, gt=0)
|
||||
body_fat_pct: float | None = Field(default=None, ge=0, le=100)
|
||||
chest_cm: float | None = Field(default=None, ge=0)
|
||||
waist_cm: float | None = Field(default=None, ge=0)
|
||||
neck_cm: float | None = Field(default=None, ge=0)
|
||||
hip_cm: float | None = Field(default=None, ge=0)
|
||||
notes: str | None = None
|
||||
recorded_at: str | None = None
|
||||
|
||||
|
||||
class BodyCompositionCalc(BaseModel):
|
||||
weight_kg: float | None = None
|
||||
height_cm: float | None = None
|
||||
@@ -341,6 +352,22 @@ def list_metrics(
|
||||
return FitnessService(db, user.id).list_body_metrics(limit=limit)
|
||||
|
||||
|
||||
@router.patch("/fitness/body-metrics/{metric_id}")
|
||||
def update_body_metric(
|
||||
metric_id: int,
|
||||
payload: BodyMetricUpdate,
|
||||
db: Session = Depends(get_db),
|
||||
user: User = Depends(get_current_user),
|
||||
) -> dict[str, Any]:
|
||||
updates = payload.model_dump(exclude_unset=True)
|
||||
if not updates:
|
||||
raise HTTPException(status_code=400, detail="No fields to update")
|
||||
result = FitnessService(db, user.id).update_body_metric(metric_id, updates)
|
||||
if not result:
|
||||
raise HTTPException(status_code=404, detail="Not found")
|
||||
return result
|
||||
|
||||
|
||||
@router.patch("/fitness/meals/{log_id}")
|
||||
def update_meal(
|
||||
log_id: int,
|
||||
|
||||
Reference in New Issue
Block a user