second-project-wahm3i/endpoints/get-grocery2.get.py

28 lines
1.0 KiB
Python

from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.orm import Session
from typing import List
from core.database import get_db
from schemas.grocery import GrocerySchema
from helpers.grocery_helpers import get_grocery_by_name, normalize_grocery_name
router = APIRouter()
@router.get("/get-grocery2", response_model=List[GrocerySchema])
async def get_grocery2(name: str, db: Session = Depends(get_db)):
"""
Get grocery items by name after fixing the faulty migration
"""
try:
normalized_name = normalize_grocery_name(name)
grocery = get_grocery_by_name(db=db, name=normalized_name)
if not grocery:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail="Grocery not found"
)
return [grocery] # Return as list for consistency with response_model
except ValueError as e:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail=str(e)
)