From 355a7ab56a9c65eb7a940aa2da367bfd38cb528b Mon Sep 17 00:00:00 2001 From: TZGyn Date: Tue, 27 Jun 2023 08:56:17 +0800 Subject: [PATCH] Moved delete note to composable --- composables/note.ts | 19 ++++++++++++++++++- pages/notes/[id].vue | 17 +++++------------ 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/composables/note.ts b/composables/note.ts index 90707f0..8411e9c 100644 --- a/composables/note.ts +++ b/composables/note.ts @@ -29,6 +29,23 @@ const submitNote = async (note: unknown, noteId: string | string[]) => { return response } +const deleteNote = async (noteId: string | string[]) => { + let response + + await useFetch('/api/note', { + method: 'DELETE', + query: { + id: noteId, + }, + onResponse({ response }) { + console.log('DELETE:', response._data.message) + response = response._data + }, + }) + + return response +} + type Note = z.infer const useNote = () => @@ -36,4 +53,4 @@ const useNote = () => const useDescription = () => useState('description', () => '') -export { submitNote, useNote, useDescription } +export { deleteNote, submitNote, useDescription, useNote } diff --git a/pages/notes/[id].vue b/pages/notes/[id].vue index 31a908b..868126d 100644 --- a/pages/notes/[id].vue +++ b/pages/notes/[id].vue @@ -76,19 +76,12 @@ const submit = async () => { }, 1000) } -const deleteNote = async () => { +const remove = async () => { isDeleting.value = true - await useFetch('/api/note', { - method: 'DELETE', - query: { - id: route.params.id, - }, - onResponse({ response }) { - isDeleting.value = false - console.log('DELETE:', response._data.message) - router.push('/notes') - }, - }) + + await deleteNote(route.params.id) + + isDeleting.value = false } onMounted(() => {