o
    	h                     @   sL  d dl mZmZmZmZ d dlmZ d dlmZ d dl	m
Z
mZmZmZmZmZ d dlm
ZmZ eddgdZd	d
 Zejdee deefdefddZejdeejdeefdedefddZejdedeefdedefddZejdedeefdededefddZejdej deefdedefddZ!dS )    )	APIRouterHTTPExceptionstatusDepends)Session)SessionLocal)MealPlanClientMealDayMealMealFoodFood)r   MealPlanCreatez
/mealplans	mealplans)prefixtagsc                  c   s(    t  } z
| V  W |   d S |   w N)r   closedb r   +C:\MealPlanner\backend\routers\mealplans.pyget_db	   s
   r   /)response_modelr   c                 C   s   |  t S r   )queryr   allr   r   r   r   list_mealplans   s   r   )r   status_codemealplanc                 C   s2   t di |  }|| |  || |S )Nr   )r   dictaddcommitrefresh)r   r   db_mpr   r   r   create_mealplan   s
   

r%   z/{mealplan_id}mealplan_idc                 C   s.   | ttj| k }|stddd|S Ni  zMeal Plan non trovato)r   detail)r   r   filteridfirstr   )r&   r   mpr   r   r   get_mealplan   s   r-   c                 C   sb   | ttj| k }|stddd|  D ]
\}}t||| q|	  |
| |S r'   )r   r   r)   r*   r+   r   r    itemssetattrr"   r#   )r&   r   r   r$   keyvaluer   r   r   update_mealplan#   s   
r2   )r   c                 C   s@   | ttj| k }|stddd|| |  d S r'   )r   r   r)   r*   r+   r   deleter"   )r&   r   r$   r   r   r   delete_mealplan.   s   
r4   N)"fastapir   r   r   r   sqlalchemy.ormr   databaser   modelsr   r	   r
   r   r   r   schemasZMealPlanSchemar   routerr   getlistr   postHTTP_201_CREATEDr%   intr-   putr2   r3   HTTP_204_NO_CONTENTr4   r   r   r   r   <module>   s"      
 