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