2021-10-24 00:42:20 +00:00
|
|
|
import { BaseCRUDAPI } from "../_base";
|
2022-02-08 04:03:11 +00:00
|
|
|
import { CreatRandomEntry } from "~/types/api-types/meal-plan";
|
2021-09-12 19:05:09 +00:00
|
|
|
|
|
|
|
const prefix = "/api";
|
|
|
|
|
|
|
|
const routes = {
|
|
|
|
mealplan: `${prefix}/groups/mealplans`,
|
2022-02-08 04:03:11 +00:00
|
|
|
random: `${prefix}/groups/mealplans/random`,
|
2021-09-12 19:05:09 +00:00
|
|
|
mealplanId: (id: string | number) => `${prefix}/groups/mealplans/${id}`,
|
|
|
|
};
|
|
|
|
|
2022-02-08 04:03:11 +00:00
|
|
|
type PlanEntryType = "breakfast" | "lunch" | "dinner" | "side";
|
2021-09-12 19:05:09 +00:00
|
|
|
|
|
|
|
export interface CreateMealPlan {
|
|
|
|
date: string;
|
|
|
|
entryType: PlanEntryType;
|
|
|
|
title: string;
|
|
|
|
text: string;
|
2022-02-13 21:23:42 +00:00
|
|
|
recipeId?: string;
|
2021-09-12 19:05:09 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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;
|
2022-02-08 04:03:11 +00:00
|
|
|
|
|
|
|
async setRandom(payload: CreatRandomEntry) {
|
|
|
|
console.log(payload);
|
|
|
|
return await this.requests.post<MealPlan>(routes.random, payload);
|
|
|
|
}
|
2021-09-12 19:05:09 +00:00
|
|
|
}
|