from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from database import get_db
from models import MealFood
from schemas import MealFood as MealFoodSchema, MealFoodBase

router = APIRouter(prefix="/mealfoods", tags=["mealfoods"])

@router.get("/", response_model=list[MealFoodSchema])
def list_mealfoods(meal_id: int, db: Session = Depends(get_db)):
    return db.query(MealFood).filter(MealFood.meal_id == meal_id).all()

@router.post("/", response_model=MealFoodSchema)
def create_mealfood(mealfood: MealFoodBase, db: Session = Depends(get_db)):
    mf = MealFood(**mealfood.dict())
    db.add(mf)
    db.commit()
    db.refresh(mf)
    return mf

@router.delete("/{mealfood_id}")
def delete_mealfood(mealfood_id: int, db: Session = Depends(get_db)):
    mf = db.query(MealFood).filter(MealFood.id == mealfood_id).first()
    if not mf:
        raise HTTPException(status_code=404, detail="MealFood non trovato")
    db.delete(mf)
    db.commit()
    return {"ok": True}
