feat: ✨ implemented deleting tracks, drivers, vehicles with proper data correction
This commit is contained in:
59
app.py
59
app.py
@@ -35,6 +35,22 @@ SessionFactory = sessionmaker(bind=engine)
|
||||
session = SessionFactory()
|
||||
create_table(engine)
|
||||
|
||||
print("pushing initial data if not already happened")
|
||||
try:
|
||||
defDriver = session.query(Driver).filter(id=1)
|
||||
defVehicle = session.query(Vehicle).filter(id=1)
|
||||
if not defDriver and not defVehicle:
|
||||
defaultVehicle = Vehicle(id=1, name="default", licenseplate="default")
|
||||
defaultDriver = Driver(id=1, name="default")
|
||||
|
||||
session.add(defaultVehicle)
|
||||
session.add(defaultDriver)
|
||||
session.commit()
|
||||
session.flush()
|
||||
except:
|
||||
print("default data not pushed as already present")
|
||||
session.flush()
|
||||
|
||||
print("initialize handlers")
|
||||
gpxHandler = GPXHandler(session)
|
||||
driverHandler = DriverHandler(session)
|
||||
@@ -106,7 +122,16 @@ def getTrack():
|
||||
app.logger.debug(f"fetching all tracks failed with error {e}")
|
||||
return f"error {e}", 500
|
||||
case "DELETE":
|
||||
pass
|
||||
data = request.get_json()
|
||||
|
||||
if "id" not in data:
|
||||
return "no if found", 400
|
||||
|
||||
try:
|
||||
gpxHandler.deleteTrack(data["id"])
|
||||
return "track deleted", 200
|
||||
except Exception as e:
|
||||
return f"couldnt delete track due to error: {e}", 500
|
||||
|
||||
|
||||
@app.route("/track/meta", methods=['GET'])
|
||||
@@ -175,10 +200,20 @@ def handleDriverRoute():
|
||||
except Exception as e:
|
||||
app.logger.debug(f"creating drivers failed with error {e}")
|
||||
return "error" + " " + str(e), 500
|
||||
case "PUT":
|
||||
pass
|
||||
case "DELETE":
|
||||
pass
|
||||
data = request.get_json()
|
||||
|
||||
if "id" not in data:
|
||||
return "no if found", 400
|
||||
|
||||
try:
|
||||
if data["id"] == 1:
|
||||
return "deleting defaults is forbidden", 400
|
||||
|
||||
driverHandler.deleteDriver(data["id"])
|
||||
return "driver deleted", 200
|
||||
except Exception as e:
|
||||
return f"couldnt delete driver due to error: {e}", 500
|
||||
|
||||
|
||||
@app.route("/vehicle", methods=['GET', 'POST', 'PUT', 'DELETE'])
|
||||
@@ -230,10 +265,20 @@ def handleVehicleRoute():
|
||||
except Exception as e:
|
||||
app.logger.debug(f"creating vehicle with name {name} failed with error {e}")
|
||||
return "error" + " " + str(e), 500
|
||||
case "PUT":
|
||||
pass
|
||||
case "DELETE":
|
||||
pass
|
||||
data = request.get_json()
|
||||
|
||||
if "id" not in data:
|
||||
return "no if found", 400
|
||||
|
||||
try:
|
||||
if data["id"] == 1:
|
||||
return "deleting defaults is forbidden", 400
|
||||
|
||||
vehicleHandler.deleteVehicle(data["id"])
|
||||
return "vehicle deleted", 200
|
||||
except Exception as e:
|
||||
return f"couldnt delete vehicle due to error: {e}", 500
|
||||
|
||||
|
||||
@app.route('/upload', methods=['POST'])
|
||||
|
||||
Reference in New Issue
Block a user