GeoTracking/class/vehicleHandler.py
2025-01-05 20:34:15 +01:00

47 lines
1.2 KiB
Python

from sqlalchemy.orm import Session
from geoObjects import Vehicle
class VehicleHandler:
__dbSession: Session
def __init__(self, session:Session):
self.__dbSession = session
pass
# handles creating a vehicle and storing it in the database
def createVehicle(self, name:str, type:str):
if not name:
raise ValueError("name is empty")
if not type:
raise ValueError("vehicle is empty")
self.__dbSession.add(Vehicle(name, type))
self.__dbSession.commit()
pass
# handles getting a vehicle identified with its id from the database
def getVehicle(self, vehicleID:int):
vehicle = self.__dbSession.query(Vehicle).filter_by(id=vehicleID).first()
return {
"id": vehicle.id,
"name": vehicle.name
}
# handles getting all vehicles from database
def getVehicles(self):
vehicles = self.__dbSession.query(Vehicle).all()
driverList = [
{
"id": vehicle.id,
"name": vehicle.name
}
# iterates all drivers and appends them to the list
for vehicle in vehicles
]
return driverList