Files
plantillas-proyectos/backend/api/v1/modules/a76/trailers/routes.py

24 lines
1.0 KiB
Python

from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from . import services, dto
from core.database import get_db
router = APIRouter()
@router.get("/trailers/{trailer_number}", response_model=dto.TrailerDTO)
def get_trailer(trailer_number: str, db: Session = Depends(get_db)):
trailer = services.TrailerService.get_trailer_by_number(db, trailer_number)
if not trailer:
raise HTTPException(status_code=404, detail="Trailer not found")
return trailer
@router.post("/trailers", response_model=dto.TrailerDTO)
def create_trailer(trailer_data: dto.TrailerCreateDTO, db: Session = Depends(get_db)):
return services.TrailerService.create_trailer(db, trailer_data)
@router.delete("/trailers/{trailer_number}", response_model=dto.TrailerDTO)
def delete_trailer(trailer_number: str, db: Session = Depends(get_db)):
trailer = services.TrailerService.delete_trailer(db, trailer_number)
if not trailer:
raise HTTPException(status_code=404, detail="Trailer not found")
return trailer