feat: Refactor DTOs and models to use from_attributes, update database schema references, and implement trailer types

This commit is contained in:
2025-11-11 14:43:07 -06:00
parent 52b8fcd434
commit ac7f8d19d8
28 changed files with 50 additions and 235 deletions

View File

@@ -1,23 +1,23 @@
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from . import services, dto
from core.database import get_db
from core.database import get_core_db
router = APIRouter()
@router.get("/trailers/{trailer_number}", response_model=dto.TrailerDTO)
def get_trailer(trailer_number: str, db: Session = Depends(get_db)):
@router.get("/trailers/{trailer_number}", response_model=dto.TrailerResponseDTO)
def get_trailer(trailer_number: str, db: Session = Depends(get_core_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)):
@router.post("/trailers", response_model=dto.TrailerResponseDTO)
def create_trailer(trailer_data: dto.TrailerCreateDTO, db: Session = Depends(get_core_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)):
@router.delete("/trailers/{trailer_number}", response_model=dto.TrailerResponseDTO)
def delete_trailer(trailer_number: str, db: Session = Depends(get_core_db)):
trailer = services.TrailerService.delete_trailer(db, trailer_number)
if not trailer:
raise HTTPException(status_code=404, detail="Trailer not found")