24 lines
1.0 KiB
Python
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 |