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

47 lines
1.1 KiB
Python

from sqlalchemy.orm import Session
from geoObjects import Driver
class DriverHandler:
__dbSession: Session
def __init__(self, session: Session):
self.__dbSession = session
pass
# handles creating a driver in the database
def createDriver(self, name: str):
# makes sure that a name always is provided
if not name:
raise ValueError("name is empty")
self.__dbSession.add(Driver(name=name))
self.__dbSession.commit()
pass
# handles getting a driver by its id from the database
def getDriver(self, driverID: int):
driver = self.__dbSession.query(Driver).filter_by(id=driverID).first()
return {
"id": driver.id,
"name": driver.name
}
# handles getting all drivers from the database
def getDrivers(self):
drivers = self.__dbSession.query(Driver).all()
driverList = [
{
"id": driver.id,
"name": driver.name
}
# iterates all drivers and appends them to the list
for driver in drivers
]
return driverList