Spaces:
Paused
Paused
| from fastapi import APIRouter, Depends, HTTPException | |
| from typing import List | |
| from ..models.menu import MenuItem, Category | |
| from ..core.auth import get_current_user | |
| from ..services.menu_service import MenuService | |
| router = APIRouter(prefix="/api/menu", tags=["menu"]) | |
| async def get_menu_items( | |
| current_user = Depends(get_current_user), | |
| menu_service: MenuService = Depends() | |
| ): | |
| return await menu_service.get_menu_items() | |
| async def create_menu_item( | |
| item: MenuItem, | |
| current_user = Depends(get_current_user), | |
| menu_service: MenuService = Depends() | |
| ): | |
| return await menu_service.create_menu_item(item) | |
| async def update_menu_item( | |
| item_id: int, | |
| item: MenuItem, | |
| current_user = Depends(get_current_user), | |
| menu_service: MenuService = Depends() | |
| ): | |
| updated_item = await menu_service.update_menu_item(item_id, item) | |
| if not updated_item: | |
| raise HTTPException(status_code=404, detail="Menu item not found") | |
| return updated_item | |
| async def delete_menu_item( | |
| item_id: int, | |
| current_user = Depends(get_current_user), | |
| menu_service: MenuService = Depends() | |
| ): | |
| success = await menu_service.delete_menu_item(item_id) | |
| if not success: | |
| raise HTTPException(status_code=404, detail="Menu item not found") | |
| return {"message": "Menu item deleted successfully"} | |
| async def get_categories( | |
| current_user = Depends(get_current_user), | |
| menu_service: MenuService = Depends() | |
| ): | |
| return await menu_service.get_categories() |