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

25 lines
800 B
Python

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