Compare commits
2
Commits
9e559ca59b
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
094f2ec8c7 | ||
|
|
8a8ee3aac6 |
+28
@@ -75,11 +75,34 @@ def save_object(obj):
|
|||||||
return JSONResponse(content=content, status_code=400)
|
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/")
|
@app.post("/cars/")
|
||||||
def create_cars(car: Car):
|
def create_cars(car: Car):
|
||||||
return save_object(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/")
|
@app.get("/cars/")
|
||||||
def read_cars():
|
def read_cars():
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
@@ -92,6 +115,11 @@ def create_cars(fill_item: FuelItem):
|
|||||||
return save_object(fill_item)
|
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/")
|
@app.get("/fill_items/")
|
||||||
def read_cars():
|
def read_cars():
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
|
|||||||
Reference in New Issue
Block a user