feat: implemented api

This commit is contained in:
2025-01-05 20:34:15 +01:00
parent c4de1d11ec
commit 695eaf576e
5 changed files with 189 additions and 25 deletions

View File

@@ -2,28 +2,45 @@ from sqlalchemy.orm import Session
from geoObjects import Driver
class DriverHandler:
__dbSession: Session
def __init__(self, session:Session):
def __init__(self, session: Session):
self.__dbSession = session
pass
# handles creating a driver in the database
def createDriver(self, name:str):
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, id:int):
pass
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):
pass
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