23 lines
858 B
Python
23 lines
858 B
Python
from sqlalchemy.orm import Session
|
|
from . import models, dto
|
|
|
|
class TransporterService:
|
|
@staticmethod
|
|
def get_transporter_by_key(db: Session, transporter_key: str):
|
|
return db.query(models.Transporter).filter(models.Transporter.transporter_key == transporter_key).first()
|
|
|
|
@staticmethod
|
|
def create_transporter(db: Session, transporter_data: dto.TransporterCreateDTO):
|
|
new_transporter = models.Transporter(**transporter_data.dict())
|
|
db.add(new_transporter)
|
|
db.commit()
|
|
db.refresh(new_transporter)
|
|
return new_transporter
|
|
|
|
@staticmethod
|
|
def delete_transporter(db: Session, transporter_key: str):
|
|
transporter = TransporterService.get_transporter_by_key(db, transporter_key)
|
|
if transporter:
|
|
db.delete(transporter)
|
|
db.commit()
|
|
return transporter |