26 lines
866 B
Python
26 lines
866 B
Python
from sqlalchemy.orm import Session
|
|
from . import models, dto
|
|
|
|
class DriverService:
|
|
@staticmethod
|
|
def get_driver_by_key_and_line(db: Session, transporter_key: str, line: int):
|
|
return db.query(models.Driver).filter(
|
|
models.Driver.transporter_key == transporter_key,
|
|
models.Driver.line == line
|
|
).first()
|
|
|
|
@staticmethod
|
|
def create_driver(db: Session, driver_data: dto.DriverCreateDTO):
|
|
new_driver = models.Driver(**driver_data.dict())
|
|
db.add(new_driver)
|
|
db.commit()
|
|
db.refresh(new_driver)
|
|
return new_driver
|
|
|
|
@staticmethod
|
|
def delete_driver(db: Session, transporter_key: str, line: int):
|
|
driver = DriverService.get_driver_by_key_and_line(db, transporter_key, line)
|
|
if driver:
|
|
db.delete(driver)
|
|
db.commit()
|
|
return driver |