From 4d31939b0f3ce2bee8a1739393f1413640106fc3 Mon Sep 17 00:00:00 2001 From: Md Afiq Iskandar Date: Wed, 4 Sep 2024 13:36:24 +0800 Subject: [PATCH] senarai w backend --- pages/permohonan-temujanji/senarai/index.vue | 139 +++++++++---------- server/api/permohonan/[noSiri].js | 27 ++++ server/api/permohonan/index.js | 30 ++++ 3 files changed, 126 insertions(+), 70 deletions(-) create mode 100644 server/api/permohonan/[noSiri].js create mode 100644 server/api/permohonan/index.js diff --git a/pages/permohonan-temujanji/senarai/index.vue b/pages/permohonan-temujanji/senarai/index.vue index 19c1d3f..991163f 100644 --- a/pages/permohonan-temujanji/senarai/index.vue +++ b/pages/permohonan-temujanji/senarai/index.vue @@ -1,12 +1,15 @@ + + - +// Fetch the permohonan list when the component is mounted +onMounted(() => { + fetchPermohonan(); +}); + diff --git a/server/api/permohonan/[noSiri].js b/server/api/permohonan/[noSiri].js new file mode 100644 index 0000000..b5291d2 --- /dev/null +++ b/server/api/permohonan/[noSiri].js @@ -0,0 +1,27 @@ +// File: server/api/permohonan/[noSiri].delete.js +export default defineEventHandler(async (event) => { + const { noSiri } = event.context.params; + + if (!noSiri) { + return { + statusCode: 400, + message: "noSiri is required.", + }; + } + + try { + await prisma.permohonan.delete({ + where: { no_siri: noSiri }, + }); + + return { + statusCode: 200, + message: "Permohonan successfully deleted.", + }; + } catch (error) { + return { + statusCode: 500, + message: "Failed to delete permohonan.", + }; + } +}); diff --git a/server/api/permohonan/index.js b/server/api/permohonan/index.js new file mode 100644 index 0000000..0092020 --- /dev/null +++ b/server/api/permohonan/index.js @@ -0,0 +1,30 @@ +// File: server/api/permohonan/index.get.js +export default defineEventHandler(async () => { + try { + const permohonan = await prisma.permohonan.findMany({ + select: { + id: true, + no_siri: true, + create_at: true, + status_permohonan: true, + }, + }); + + return { + statusCode: 200, + message: "Success", + data: permohonan.map((item, index) => ({ + no: index + 1, + noSiri: item.no_siri, + tarikhMasa: item.create_at.toISOString().replace("T", " ").slice(0, 19), + status: item.status_permohonan, + butiran: item.id, + })), + }; + } catch (error) { + return { + statusCode: 500, + message: "Failed to fetch permohonan data.", + }; + } +});