47 lines
1.1 KiB
Python
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
|