mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-07-24 07:39:41 +02:00
feat(frontend): 🚧 CRUD Functionality
This commit is contained in:
parent
00a8fdda41
commit
afcad2f701
49 changed files with 845 additions and 275 deletions
38
frontend/composables/use-recipe-context.ts
Normal file
38
frontend/composables/use-recipe-context.ts
Normal file
|
@ -0,0 +1,38 @@
|
|||
import { useAsync, ref } from "@nuxtjs/composition-api";
|
||||
import { useApiSingleton } from "~/composables/use-api";
|
||||
import { Recipe } from "~/types/api-types/recipe";
|
||||
|
||||
export const useRecipeContext = function () {
|
||||
const api = useApiSingleton();
|
||||
const loading = ref(false)
|
||||
|
||||
|
||||
function getBySlug(slug: string) {
|
||||
loading.value = true
|
||||
const recipe = useAsync(async () => {
|
||||
const { data } = await api.recipes.getOne(slug);
|
||||
return data;
|
||||
}, slug);
|
||||
|
||||
loading.value = false
|
||||
|
||||
return recipe;
|
||||
}
|
||||
|
||||
async function deleteRecipe(slug: string) {
|
||||
loading.value = true
|
||||
const { data } = await api.recipes.deleteOne(slug);
|
||||
loading.value = false
|
||||
return data;
|
||||
}
|
||||
|
||||
async function updateRecipe(slug: string, recipe: Recipe) {
|
||||
loading.value = true
|
||||
const { data } = await api.recipes.updateOne(slug, recipe);
|
||||
loading.value = false
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
return {loading, getBySlug, deleteRecipe, updateRecipe}
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue