Compare commits

...
2 Commits
+28
View File
@@ -75,11 +75,34 @@ def save_object(obj):
return JSONResponse(content=content, status_code=400)
def update_object(obj_id: int, obj):
with Session(engine) as session:
try:
object_db = session.get(type(obj), obj_id)
if not object_db:
content = jsonable_encoder({"message": "%s-ID not found" % type(obj).__qualname__})
return JSONResponse(content=content, status_code=404)
obj_data = obj.model_dump(exclude_unset=True)
object_db.sqlmodel_update(obj_data)
session.add(object_db)
session.commit()
session.refresh(object_db)
return object_db
except IntegrityError|DataError as e:
content = jsonable_encoder({"message": e})
return JSONResponse(content=content, status_code=400)
@app.post("/cars/")
def create_cars(car: Car):
return save_object(car)
@app.put("/cars/{obj_id}")
def update_cars(obj_id, car: Car):
return update_object(obj_id, car)
@app.get("/cars/")
def read_cars():
with Session(engine) as session:
@@ -92,6 +115,11 @@ def create_cars(fill_item: FuelItem):
return save_object(fill_item)
@app.put("/fill_items/{obj_id}")
def update_cars(obj_id, fill_item: FuelItem):
return update_object(obj_id, fill_item)
@app.get("/fill_items/")
def read_cars():
with Session(engine) as session: