Files
plantillas-proyectos/backend/api/v1/modules/a76/transportation/drivers/services.py
acazares aa35635397 feat: Implement customs brokers management interface
- Added a data table for displaying customs brokers with columns for key, name, type, license, RFC, email, phone, city, and actions.
- Created a dialog for adding new customs brokers with a form for inputting necessary details.
- Implemented actions for viewing details and deleting customs brokers with confirmation dialogs.
- Integrated search functionality to find customs brokers by their key.
- Established server-side loading for the customs brokers page to handle authentication and data retrieval.
2025-11-12 16:57:15 -06:00

33 lines
932 B
Python

from sqlalchemy.orm import Session
from . import dto, models
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