from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from core.database import get_db from helpers.grocery_item_helpers import get_grocery_item_id_by_name, validate_grocery_item_name, format_grocery_item_response from typing import Dict, Any router = APIRouter() @router.get("/get-grocery", response_model=Dict[str, Any]) async def get_grocery_by_name( name: str, db: Session = Depends(get_db) ): if not validate_grocery_item_name(name): raise HTTPException(status_code=400, detail="Invalid grocery item name") item_id = get_grocery_item_id_by_name(db, name) if not item_id: raise HTTPException(status_code=404, detail="Grocery item not found") return format_grocery_item_response(item_id, name)