diff --git a/endpoints/names.post.py b/endpoints/names.post.py index f61e6fa..672c4b7 100644 --- a/endpoints/names.post.py +++ b/endpoints/names.post.py @@ -1,11 +1,16 @@ -from fastapi import APIRouter, status +from fastapi import APIRouter, Depends, HTTPException +from sqlalchemy.orm import Session from typing import List -from helpers.ship_helpers import get_ship_names +from core.database import get_db +from schemas.ship import ShipSchema +from helpers.ship_helpers import get_all_ships router = APIRouter() -@router.post("/names", status_code=status.HTTP_200_OK, response_model=List[str]) -async def get_names(): - """Get list of ship names""" - names = get_ship_names() - return names \ No newline at end of file +@router.post("/names", status_code=200, response_model=List[ShipSchema]) +async def get_all_ship_details(db: Session = Depends(get_db)): + """Return all ships""" + ships = get_all_ships(db) + if not ships: + raise HTTPException(status_code=404, detail="No ships found") + return ships \ No newline at end of file diff --git a/helpers/ship_helpers.py b/helpers/ship_helpers.py index eb73d74..f7090e6 100644 --- a/helpers/ship_helpers.py +++ b/helpers/ship_helpers.py @@ -3,7 +3,7 @@ from uuid import UUID from sqlalchemy.orm import Session from sqlalchemy.exc import SQLAlchemyError from models.ship import Ship -from schemas.ship import ShipCreate, ShipUpdate, ShipSchema +from schemas.ship import ShipCreate, ShipUpdate def get_all_ships(db: Session) -> List[Ship]: """ @@ -33,6 +33,8 @@ def get_ship_by_id(db: Session, ship_id: UUID) -> Optional[Ship]: def get_ship_names(db: Session) -> List[str]: """ Retrieves a list of all ship names. + + Note: This function is deprecated. Use get_all_ships() instead to get full ship objects. Args: db (Session): The database session.