diff --git a/endpoints/get-grocery2.get.py b/endpoints/get-grocery2.get.py index e69de29..384aefc 100644 --- a/endpoints/get-grocery2.get.py +++ b/endpoints/get-grocery2.get.py @@ -0,0 +1,25 @@ +from fastapi import APIRouter, Depends, HTTPException +from sqlalchemy.orm import Session +from core.database import get_db +from typing import Optional +from uuid import UUID + +from helpers.grocery_helpers import get_grocery_by_name, normalize_grocery_name, validate_grocery_name + +router = APIRouter() + +@router.get("/get-grocery2", response_model=Optional[UUID]) +async def get_grocery_id_by_name( + name: str, + db: Session = Depends(get_db) +): + if not validate_grocery_name(name): + raise HTTPException(status_code=400, detail="Invalid grocery name") + + normalized_name = normalize_grocery_name(name) + grocery = get_grocery_by_name(db, normalized_name) + + if not grocery: + raise HTTPException(status_code=404, detail="Grocery not found") + + return grocery.id \ No newline at end of file