from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from database import get_db
from models import Meal
from schemas import Meal as MealSchema, MealBase

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

@router.get("/", response_model=list[MealSchema])
def list_meals(mealday_id: int, db: Session = Depends(get_db)):
    return db.query(Meal).filter(Meal.mealday_id == mealday_id).all()

@router.post("/", response_model=MealSchema)
def create_meal(meal: MealBase, db: Session = Depends(get_db)):
    m = Meal(**meal.dict())
    db.add(m)
    db.commit()
    db.refresh(m)
    return m

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