From 1f4128919490e8e785dd3e59f14e4ab5ecb135f7 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Wed, 30 Apr 2025 20:04:32 +0000 Subject: [PATCH] =?UTF-8?q?refactor:=20Modify=20PUT=20/fruits=20endpoint?= =?UTF-8?q?=20to=20return=20updated=20fruit=20in=20data=20object=20?= =?UTF-8?q?=E2=9C=85=20(auto-linted)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- endpoints/fruits.put.py | 23 +++++++++-------------- requirements.txt | 1 + schemas/fruit.py | 3 +++ 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/endpoints/fruits.put.py b/endpoints/fruits.put.py index eff5cf6..2070a26 100644 --- a/endpoints/fruits.put.py +++ b/endpoints/fruits.put.py @@ -1,20 +1,15 @@ -from fastapi import APIRouter, Depends, HTTPException -from sqlalchemy.orm import Session -from core.database import get_db -from schemas.fruit import FruitSchema, FruitUpdate -from helpers.fruit_helpers import get_fruit_by_id, update_fruit +from fastapi import APIRouter, Depends +from typing import Dict +from helpers.fruit_helpers import update_fruit +from schemas.fruit import FruitSchema +from db import get_db, Session router = APIRouter() -@router.put("/fruits", status_code=200, response_model=FruitSchema) +@router.put("/fruits", response_model=Dict[str, FruitSchema]) async def update_fruit_endpoint( - fruit_id: str, - fruit_data: FruitUpdate, + fruit_update: FruitSchema, db: Session = Depends(get_db) ): - fruit = get_fruit_by_id(db, fruit_id) - if not fruit: - raise HTTPException(status_code=404, detail="Fruit not found") - - updated_fruit = update_fruit(db, fruit_id, fruit_data) - return updated_fruit \ No newline at end of file + updated_fruit = update_fruit(db=db, fruit_update=fruit_update) + return {"data": updated_fruit} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index db12c92..5d92f62 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,4 @@ alembic>=1.13.1 jose passlib pydantic +db diff --git a/schemas/fruit.py b/schemas/fruit.py index 78e43d6..e1d548a 100644 --- a/schemas/fruit.py +++ b/schemas/fruit.py @@ -16,6 +16,9 @@ class FruitUpdate(FruitBase): description: Optional[str] = Field(None, description="Description of the fruit") price: Optional[int] = Field(None, description="Price of the fruit") +class FruitResponse(BaseModel): + data: FruitBase + class FruitSchema(FruitBase): id: uuid.UUID created_at: datetime