From 8a8ee3aac629794d0741cd45e45847a1a92a59f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20L=C3=BCcke?= Date: Fri, 9 Jan 2026 11:36:16 +0100 Subject: [PATCH] =?UTF-8?q?feature:=20die=20Ver=C3=A4nderung=20von=20Daten?= =?UTF-8?q?=20ist=20m=C3=B6glich?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/main.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/api/main.py b/api/main.py index 4262e04..0e449ee 100644 --- a/api/main.py +++ b/api/main.py @@ -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: -- 2.54.0