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