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