23 lines
758 B
Python
23 lines
758 B
Python
from sqlalchemy.orm import Session
|
|
from . import models, dto
|
|
|
|
class VehicleService:
|
|
@staticmethod
|
|
def get_vehicle_by_key(db: Session, vehicle_key: str):
|
|
return db.query(models.Vehicle).filter(models.Vehicle.vehicle_key == vehicle_key).first()
|
|
|
|
@staticmethod
|
|
def create_vehicle(db: Session, vehicle_data: dto.VehicleCreateDTO):
|
|
new_vehicle = models.Vehicle(**vehicle_data.dict())
|
|
db.add(new_vehicle)
|
|
db.commit()
|
|
db.refresh(new_vehicle)
|
|
return new_vehicle
|
|
|
|
@staticmethod
|
|
def delete_vehicle(db: Session, vehicle_key: str):
|
|
vehicle = VehicleService.get_vehicle_by_key(db, vehicle_key)
|
|
if vehicle:
|
|
db.delete(vehicle)
|
|
db.commit()
|
|
return vehicle |