| 
									
										
										
										
											2021-10-23 16:42:20 -08:00
										 |  |  | import { BaseCRUDAPI } from "../_base"; | 
					
						
							| 
									
										
										
										
											2021-09-12 11:05:09 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | const prefix = "/api"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const routes = { | 
					
						
							|  |  |  |   mealplan: `${prefix}/groups/mealplans`, | 
					
						
							|  |  |  |   mealplanId: (id: string | number) => `${prefix}/groups/mealplans/${id}`, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | type PlanEntryType = "breakfast" | "lunch" | "dinner" | "snack"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface CreateMealPlan { | 
					
						
							|  |  |  |   date: string; | 
					
						
							|  |  |  |   entryType: PlanEntryType; | 
					
						
							|  |  |  |   title: string; | 
					
						
							|  |  |  |   text: string; | 
					
						
							|  |  |  |   recipeId?: number; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface UpdateMealPlan extends CreateMealPlan { | 
					
						
							|  |  |  |   id: number; | 
					
						
							|  |  |  |   groupId: number; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface MealPlan extends UpdateMealPlan { | 
					
						
							|  |  |  |   recipe: any; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export class MealPlanAPI extends BaseCRUDAPI<MealPlan, CreateMealPlan> { | 
					
						
							|  |  |  |   baseRoute = routes.mealplan; | 
					
						
							|  |  |  |   itemRoute = routes.mealplanId; | 
					
						
							|  |  |  | } |