diff --git a/crud.py b/crud.py index 6f453f2..277c881 100644 --- a/crud.py +++ b/crud.py @@ -1,3 +1,4 @@ +from enum import Enum from sqlalchemy import DECIMAL, cast from sqlalchemy.orm import Session @@ -17,7 +18,15 @@ def put_item(db: Session, id: str, item: schemas.Item): if not updated: db.add(models.Item(**item.dict())) db.commit() - return updated + if updated: + return PutItemResult.UPDATED + else: + return PutItemResult.ADDED + + +class PutItemResult(Enum): + ADDED = 1 + UPDATED = 2 def delete_item(db: Session, id: str): diff --git a/main.py b/main.py index dbc0409..6df84df 100644 --- a/main.py +++ b/main.py @@ -44,7 +44,7 @@ async def list_items(db: Session = Depends(get_db)): @app.put("/api/items/{id}") async def put_item(id: str, item: Item, db: Session = Depends(get_db)): - if crud.put_item(db, id, item): + if crud.put_item(db, id, item) == crud.PutItemResult.UPDATED: return Response(b"", status_code=204) return Response(b"", status_code=201)