diff --git a/prisma/migrations/20250625085706_25_jun_25_2/migration.sql b/prisma/migrations/20250625085706_25_jun_25_2/migration.sql new file mode 100644 index 00000000..28a29c1e --- /dev/null +++ b/prisma/migrations/20250625085706_25_jun_25_2/migration.sql @@ -0,0 +1,32 @@ +/* + Warnings: + + - The primary key for the `DataKematian_Kelahiran` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The `id` column on the `DataKematian_Kelahiran` table would be dropped and recreated. This will lead to data loss if there is data in the column. + - The primary key for the `GrafikKepuasan` table will be changed. If it partially fails, the table could be left without primary key constraint. + - The `id` column on the `GrafikKepuasan` table would be dropped and recreated. This will lead to data loss if there is data in the column. + - A unique constraint covering the columns `[uuid]` on the table `DataKematian_Kelahiran` will be added. If there are existing duplicate values, this will fail. + - A unique constraint covering the columns `[uuid]` on the table `GrafikKepuasan` will be added. If there are existing duplicate values, this will fail. + - The required column `uuid` was added to the `DataKematian_Kelahiran` table with a prisma-level default value. This is not possible if the table is not empty. Please add this column as optional, then populate it before making it required. + - The required column `uuid` was added to the `GrafikKepuasan` table with a prisma-level default value. This is not possible if the table is not empty. Please add this column as optional, then populate it before making it required. + +*/ +-- AlterTable +ALTER TABLE "DataKematian_Kelahiran" DROP CONSTRAINT "DataKematian_Kelahiran_pkey", +ADD COLUMN "uuid" TEXT NOT NULL, +DROP COLUMN "id", +ADD COLUMN "id" SERIAL NOT NULL, +ADD CONSTRAINT "DataKematian_Kelahiran_pkey" PRIMARY KEY ("id"); + +-- AlterTable +ALTER TABLE "GrafikKepuasan" DROP CONSTRAINT "GrafikKepuasan_pkey", +ADD COLUMN "uuid" TEXT NOT NULL, +DROP COLUMN "id", +ADD COLUMN "id" SERIAL NOT NULL, +ADD CONSTRAINT "GrafikKepuasan_pkey" PRIMARY KEY ("id"); + +-- CreateIndex +CREATE UNIQUE INDEX "DataKematian_Kelahiran_uuid_key" ON "DataKematian_Kelahiran"("uuid"); + +-- CreateIndex +CREATE UNIQUE INDEX "GrafikKepuasan_uuid_key" ON "GrafikKepuasan"("uuid"); diff --git a/prisma/schema.prisma b/prisma/schema.prisma index f6ddb35c..716f13af 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -630,7 +630,8 @@ model PendaftaranJadwalKegiatan { // ========================================= PERSENTASE KELAHIRAN & KEMATIAN ========================================= // model DataKematian_Kelahiran { - id String @id @default(cuid()) + id Int @id @default(autoincrement()) + uuid String @default(cuid()) @unique tahun String kematianKasar String kematianBayi String @@ -643,7 +644,8 @@ model DataKematian_Kelahiran { // ========================================= GRAFIK KEPUASAN ========================================= // model GrafikKepuasan { - id String @id @default(cuid()) + id Int @id @default(autoincrement()) + uuid String @default(cuid()) @unique label String jumlah String createdAt DateTime @default(now()) diff --git a/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/grafikKepuasan.ts b/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/grafikKepuasan.ts index 2244b3ab..985850d3 100644 --- a/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/grafikKepuasan.ts +++ b/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/grafikKepuasan.ts @@ -39,15 +39,15 @@ const grafikkepuasan = proxy({ const res = await ApiFetch.api.kesehatan.grafikkepuasan["create"].post(grafikkepuasan.create.form); if (res.status === 200) { - const id = res.data?.data?.id; - if (id) { + const uuid = res.data?.data?.uuid; + if (uuid) { toast.success("Success create"); grafikkepuasan.create.form = { label: "", jumlah: "", }; grafikkepuasan.findMany.load(); - return id; + return uuid; } } toast.error("failed create"); @@ -77,9 +77,9 @@ const grafikkepuasan = proxy({ data: null as Prisma.GrafikKepuasanGetPayload<{ omit: { isActive: true } }> | null, - async load(id: string) { + async load(uuid: string) { try { - const res = await fetch(`/api/kesehatan/grafikkepuasan/${id}`); + const res = await fetch(`/api/kesehatan/grafikkepuasan/${uuid}`); if (res.ok) { const data = await res.json(); grafikkepuasan.findUnique.data = data.data ?? null; @@ -94,14 +94,14 @@ const grafikkepuasan = proxy({ }, }, update: { - id: "", + uuid: "", form: {...defaultForm}, loading: false, async byId() { }, async submit() { - const id = this.id; - if (!id) { + const uuid = this.uuid; + if (!uuid) { toast.warn("ID tidak valid"); return null; } @@ -114,7 +114,7 @@ const grafikkepuasan = proxy({ } try { this.loading = true; - const response = await fetch(`/api/kesehatan/grafikkepuasan/${id}`, { + const response = await fetch(`/api/kesehatan/grafikkepuasan/${uuid}`, { method: "PUT", headers: { "Content-Type": "application/json", @@ -143,14 +143,14 @@ const grafikkepuasan = proxy({ }, delete: { loading: false, - async byId(id: string) { - if (!id) { + async byId(uuid: string) { + if (!uuid) { return toast.warn("ID tidak valid"); } try { grafikkepuasan.delete.loading = true; - const response = await fetch(`/api/kesehatan/grafikkepuasan/del/${id}`, { + const response = await fetch(`/api/kesehatan/grafikkepuasan/del/${uuid}`, { method: "DELETE", headers: { "Content-Type": "application/json", diff --git a/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/persentaseKelahiran.ts b/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/persentaseKelahiran.ts index f929e532..f1e9dd6d 100644 --- a/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/persentaseKelahiran.ts +++ b/src/app/admin/(dashboard)/_state/kesehatan/data_kesehatan_warga/persentaseKelahiran.ts @@ -34,28 +34,23 @@ const persentasekelahiran = proxy({ async create() { const cek = templatePersentase.safeParse(persentasekelahiran.create.form); if (!cek.success) { - const err = `[${cek.error.issues - .map((v) => `${v.path.join(".")}`) - .join("\n")}] required`; + const err = `[${cek.error.issues.map((v) => `${v.path.join(".")}`).join("\n")}] required`; toast.error(err); return null; } try { persentasekelahiran.create.loading = true; - const res = await ApiFetch.api.kesehatan.persentasekelahiran["create"].post(persentasekelahiran.create.form); - + const res = await ApiFetch.api.kesehatan.persentasekelahiran["create"].post( + persentasekelahiran.create.form + ); + if (res.status === 200) { - const id = res.data?.data?.id; - if (id) { + const uuid = res.data?.data?.uuid; + if (uuid) { toast.success("Success create"); - persentasekelahiran.create.form = { - tahun: "", - kematianKasar: "", - kelahiranKasar: "", - kematianBayi: "", - }; + persentasekelahiran.create.form = { ...defaultForm }; persentasekelahiran.findMany.load(); - return id; + return uuid; } } toast.error("failed create"); @@ -68,26 +63,26 @@ const persentasekelahiran = proxy({ } }, }, + findMany: { - data: null as - | Prisma.DataKematian_KelahiranGetPayload<{ omit: { isActive: true } }>[] - | null, + data: null as Prisma.DataKematian_KelahiranGetPayload<{ + omit: { isActive: true }; + }>[] | null, async load() { - const res = await ApiFetch.api.kesehatan.persentasekelahiran[ - "find-many" - ].get(); + const res = await ApiFetch.api.kesehatan.persentasekelahiran["find-many"].get(); if (res.status === 200) { persentasekelahiran.findMany.data = res.data?.data ?? []; } }, }, + findUnique: { data: null as Prisma.DataKematian_KelahiranGetPayload<{ omit: { isActive: true }; }> | null, - async load(id: string) { + async load(uuid: string) { try { - const res = await fetch(`/api/kesehatan/persentasekelahiran/${id}`); + const res = await fetch(`/api/kesehatan/persentasekelahiran/${uuid}`); if (res.ok) { const data = await res.json(); persentasekelahiran.findUnique.data = data.data ?? null; @@ -101,82 +96,86 @@ const persentasekelahiran = proxy({ } }, }, - update: { - id: "", - form: { ...defaultForm }, - loading: false, - async byId() {}, - async submit() { - const id = this.id; - if (!id) { - toast.warn("ID tidak valid"); - return null; + +update: { + uuid: "", + form: { ...defaultForm }, + loading: false, + async submit() { + const uuid = this.uuid; + if (!uuid) { + toast.warn("UUID tidak valid"); + return null; + } + + const formData = { + tahun: this.form.tahun, + kematianKasar: this.form.kematianKasar, + kelahiranKasar: this.form.kelahiranKasar, + kematianBayi: this.form.kematianBayi, + }; + + const cek = templatePersentase.safeParse(formData); + if (!cek.success) { + const err = `[${cek.error.issues + .map((v) => `${v.path.join(".")}`) + .join("\n")}] required`; + toast.error(err); + return null; + } + + try { + this.loading = true; + const res = await fetch(`/api/kesehatan/persentasekelahiran/${uuid}`, { + method: "PUT", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(formData), + }); + + const result = await res.json(); + + if (!res.ok || !result?.success) { + throw new Error(result?.message || "Gagal update data"); } - const cek = templatePersentase.safeParse(persentasekelahiran.update.form); - if (!cek.success) { - const err = `[${cek.error.issues - .map((v) => `${v.path.join(".")}`) - .join("\n")}] required`; - return toast.error(err); - } - try { - this.loading = true; - const response = await fetch(`/api/kesehatan/persentasekelahiran/${id}`, { - method: "PUT", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(this.form), - }); - const result = await response.json(); - - if (!response.ok || !result?.success) { - throw new Error(result?.message || "Gagal update data"); - } - - toast.success("Berhasil update data!"); - - // ✅ Optional: refresh list kalau kamu langsung ke halaman list - await persentasekelahiran.findMany.load(); - - return result.data; - } catch (error) { - console.error("Error update data:", error); - toast.error("Gagal update data persentase kelahiran"); - } finally { - this.loading = false; - } - }, + + toast.success("Berhasil update data!"); + await persentasekelahiran.findMany.load(); + return result.data; + } catch (error) { + console.error("Update error:", error); + toast.error("Gagal update data persentase kelahiran"); + throw error; + } finally { + this.loading = false; + } }, +}, + + delete: { loading: false, - async byId(id: string) { - if (!id) return toast.warn("ID tidak valid"); + async byId(uuid: string) { + if (!uuid) return toast.warn("UUID tidak valid"); try { persentasekelahiran.delete.loading = true; - const response = await fetch( - `/api/kesehatan/persentasekelahiran/del/${id}`, - { - method: "DELETE", - headers: { - "Content-Type": "application/json", - }, - } - ); + const response = await fetch(`/api/kesehatan/persentasekelahiran/del/${uuid}`, { + method: "DELETE", + headers: { + "Content-Type": "application/json", + }, + }); const result = await response.json(); if (response.ok && result?.success) { - toast.success( - result.message || "Persentase kelahiran berhasil dihapus" - ); - await persentasekelahiran.findMany.load(); // refresh list + toast.success(result.message || "Persentase kelahiran berhasil dihapus"); + await persentasekelahiran.findMany.load(); } else { - toast.error( - result?.message || "Gagal menghapus persentase kelahiran" - ); + toast.error(result?.message || "Gagal menghapus persentase kelahiran"); } } catch (error) { console.error("Gagal delete:", error); diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[uuid]/page.tsx similarity index 91% rename from src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[id]/page.tsx rename to src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[uuid]/page.tsx index 034478cc..39133915 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/[uuid]/page.tsx @@ -11,15 +11,15 @@ import { useProxy } from 'valtio/utils'; function EditGrafikHasilKepuasan() { const router = useRouter() - const params = useParams() as { id: string } + const params = useParams() as { uuid: string } const stateGrafikKepuasan = useProxy(grafikkepuasan) - const id = params.id + const uuid = params.uuid // Load data saat komponen mount useEffect(() => { - if (id) { - stateGrafikKepuasan.findUnique.load(id).then(() => { + if (uuid) { + stateGrafikKepuasan.findUnique.load(uuid).then(() => { const data = stateGrafikKepuasan.findUnique.data if (data) { stateGrafikKepuasan.update.form = { @@ -29,11 +29,11 @@ function EditGrafikHasilKepuasan() { } }) } - }, [id]) + }, [uuid]) const handleSubmit = async () => { // Set the ID before submitting - stateGrafikKepuasan.update.id = id; + stateGrafikKepuasan.update.uuid = uuid; await stateGrafikKepuasan.update.submit(); router.push('/admin/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan') } diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/page.tsx index 935f1d32..7ef36104 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/grafik_hasil_kepuasan/page.tsx @@ -45,7 +45,7 @@ function GrafikHasilKepuasanMasyarakat() { setMounted(true); if (stateGrafikKepuasan.findMany.data) { setChartData(stateGrafikKepuasan.findMany.data.map((item) => ({ - id: item.id, + id: item.uuid, label: item.label, jumlah: Number(item.jumlah), }))); @@ -82,11 +82,11 @@ function GrafikHasilKepuasanMasyarakat() { {stateGrafikKepuasan.findMany.data?.map((item) => ( - + {item.label} {item.jumlah} - @@ -95,7 +95,7 @@ function GrafikHasilKepuasanMasyarakat() { color='red' disabled={stateGrafikKepuasan.delete.loading} onClick={() => { - setSelectedId(item.id) + setSelectedId(item.uuid) setModalHapus(true) }}> diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/[id]/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/[uuid]/page.tsx similarity index 71% rename from src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/[id]/page.tsx rename to src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/[uuid]/page.tsx index 701f9ed1..725af4e6 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/[id]/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/[uuid]/page.tsx @@ -7,38 +7,51 @@ import { Box, Button, Paper, Stack, TextInput, Title } from '@mantine/core'; import { IconArrowBack } from '@tabler/icons-react'; import { useParams, useRouter } from 'next/navigation'; import { useEffect } from 'react'; +import { toast } from 'react-toastify'; import { useProxy } from 'valtio/utils'; function EditPersentaseDataKelahiranKematian() { const router = useRouter() - const params = useParams() as { id: string } + const params = useParams() as { uuid: string } const statePresentase = useProxy(persentasekelahiran) - const id = params.id + const id = params.uuid // Load data saat komponen mount - useEffect(() => { - if (id) { - statePresentase.findUnique.load(id).then(() => { - const data = statePresentase.findUnique.data - if (data) { - statePresentase.update.form = { - tahun: data.tahun || '', - kematianKasar: data.kematianKasar || '', - kelahiranKasar: data.kelahiranKasar || '', - kematianBayi: data.kematianBayi || '', - } - } - }) - } - }, [id]) +// Di file page.tsx, ubah useEffect-nya menjadi: +useEffect(() => { + if (!id) return; + statePresentase.update.uuid = id; + statePresentase.findUnique.load(id) + .then(() => { + const data = statePresentase.findUnique.data; + if (data) { + statePresentase.update.form = { + tahun: String(data.tahun || ''), + kematianKasar: String(data.kematianKasar || ''), + kelahiranKasar: String(data.kelahiranKasar || ''), + kematianBayi: String(data.kematianBayi || '') + }; + } + }) + .catch(error => { + console.error('Error loading data:', error); + toast.error('Gagal memuat data'); + }); +}, [id]); - const handleSubmit = async () => { - // Set the ID before submitting - statePresentase.update.id = id; +// Di handleSubmit, ubah menjadi: +const handleSubmit = async () => { + try { + statePresentase.update.uuid = id; await statePresentase.update.submit(); - router.push('/admin/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian') + toast.success('Data berhasil diperbarui'); + router.push('/admin/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian'); + } catch (error) { + console.error('Error updating data:', error); + toast.error('Gagal memperbarui data'); } +}; return ( diff --git a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/page.tsx b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/page.tsx index 6898299e..137296d1 100644 --- a/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/page.tsx +++ b/src/app/admin/(dashboard)/kesehatan/data-kesehatan-warga/persentase_data_kelahiran_kematian/page.tsx @@ -13,7 +13,7 @@ import { ModalKonfirmasiHapus } from '../../../_com/modalKonfirmasiHapus'; function PersentaseDataKelahiranKematian() { type PDKMGrafik = { - id: string; + uuid: string; tahun: string; kematianKasar: number; kematianBayi: number; @@ -47,7 +47,7 @@ function PersentaseDataKelahiranKematian() { setMounted(true); if (statePersentase.findMany.data) { setChartData(statePersentase.findMany.data.map((item) => ({ - id: item.id, + uuid: item.uuid, tahun: item.tahun, kematianKasar: Number(item.kematianKasar), kematianBayi: Number(item.kematianBayi), @@ -88,13 +88,13 @@ function PersentaseDataKelahiranKematian() { {statePersentase.findMany.data?.map((item) => ( - + {item.tahun} {item.kematianKasar} {item.kematianBayi} {item.kelahiranKasar} - @@ -103,7 +103,7 @@ function PersentaseDataKelahiranKematian() { color='red' disabled={statePersentase.delete.loading} onClick={() => { - setSelectedId(item.id) + setSelectedId(item.uuid) setModalHapus(true) }}> diff --git a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/create.ts b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/create.ts index b868abe0..961c194f 100644 --- a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/create.ts +++ b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/create.ts @@ -17,7 +17,7 @@ export default async function grafikKepuasanCreate(context: Context) { jumlah: body.jumlah, }, select: { - id: true, + uuid: true, label: true, jumlah: true, } diff --git a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/del.ts b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/del.ts index a3d1d0a9..841a7154 100644 --- a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/del.ts +++ b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/del.ts @@ -2,9 +2,9 @@ import prisma from "@/lib/prisma"; import { Context } from "elysia"; export default async function grafikKepuasanDelete(context: Context) { - const id = context.params?.id; + const uuid = context.params?.uuid; - if (!id) { + if (!uuid) { return { success: false, message: "ID tidak ditemukan" @@ -13,7 +13,7 @@ export default async function grafikKepuasanDelete(context: Context) { const existing = await prisma.grafikKepuasan.findUnique({ where: { - id: id, + uuid: uuid, }, }) @@ -25,7 +25,7 @@ export default async function grafikKepuasanDelete(context: Context) { } const deleted = await prisma.grafikKepuasan.delete({ - where: { id }, + where: { uuid }, }) return { diff --git a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/findUnique.ts b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/findUnique.ts index 9d092437..352915ad 100644 --- a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/findUnique.ts +++ b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/findUnique.ts @@ -3,9 +3,9 @@ import prisma from "@/lib/prisma"; export default async function grafikKepuasanFindUnique(request: Request) { const url = new URL(request.url); const pathSegments = url.pathname.split('/'); - const id = pathSegments[pathSegments.length - 1]; + const uuid = pathSegments[pathSegments.length - 1]; - if (!id) { + if (!uuid) { return Response.json({ success: false, message: 'ID tidak boleh kosong', @@ -13,7 +13,7 @@ export default async function grafikKepuasanFindUnique(request: Request) { } try { - if (typeof id !== 'string') { + if (typeof uuid !== 'string') { return Response.json({ success: false, message: "ID tidak valid", @@ -21,7 +21,7 @@ export default async function grafikKepuasanFindUnique(request: Request) { } const data = await prisma.grafikKepuasan.findUnique({ - where: { id }, + where: { uuid }, }); if (!data) { diff --git a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/index.ts b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/index.ts index 914c51c5..31a0df63 100644 --- a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/index.ts +++ b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/index.ts @@ -9,7 +9,7 @@ const GrafikKepuasan = new Elysia({ prefix: "/grafikkepuasan", tags: ["Data Kesehatan/Grafik Kepuasan"] }) - .get("/:id", async (context) => { + .get("/:uuid", async (context) => { const response = await grafikKepuasanFindUnique(new Request(context.request)); return response; }) @@ -20,18 +20,18 @@ const GrafikKepuasan = new Elysia({ jumlah: t.String(), }), }) - .put("/:id", grafikKepuasanUpdate, { + .put("/:uuid", grafikKepuasanUpdate, { params: t.Object({ - id: t.String(), + uuid: t.String(), }), body: t.Object({ label: t.String(), jumlah: t.String(), }), }) - .delete("/del/:id", grafikKepuasanDelete, { + .delete("/del/:uuid", grafikKepuasanDelete, { params: t.Object({ - id: t.String(), + uuid: t.String(), }), }) export default GrafikKepuasan \ No newline at end of file diff --git a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/updt.ts b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/updt.ts index ce854bed..7e72a2db 100644 --- a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/updt.ts +++ b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/grafik_kepuasan/updt.ts @@ -2,9 +2,9 @@ import prisma from "@/lib/prisma"; import { Context } from "elysia"; export default async function grafikKepuasanUpdate(context: Context) { - const id = context.params?.id; + const uuid = context.params?.uuid; - if (!id) { + if (!uuid) { return { success: false, message: "ID tidak ditemukan" @@ -18,7 +18,7 @@ export default async function grafikKepuasanUpdate(context: Context) { const existing = await prisma.grafikKepuasan.findUnique({ where: { - id: id, + uuid: uuid, }, }) @@ -30,7 +30,7 @@ export default async function grafikKepuasanUpdate(context: Context) { } const updated = await prisma.grafikKepuasan.update({ - where: { id }, + where: { uuid }, data: { label, jumlah, diff --git a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/create.ts b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/create.ts index f78a22f3..fc623df3 100644 --- a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/create.ts +++ b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/create.ts @@ -22,7 +22,7 @@ export default async function persentaseKelahiranKematianCreate(context: Context kelahiranKasar: body.kelahiranKasar, }, select: { - id: true, + uuid: true, tahun: true, kematianKasar: true, kematianBayi: true, diff --git a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/del.ts b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/del.ts index 62c2d699..7b2fd868 100644 --- a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/del.ts +++ b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/del.ts @@ -2,18 +2,18 @@ import prisma from "@/lib/prisma"; import { Context } from "elysia"; export default async function persentaseKelahiranKematianDelete(context: Context) { - const id = context.params?.id; + const uuid = context.params?.uuid; - if (!id) { + if (!uuid) { return { success: false, - message: "Id tidak ditemukan", + message: "ID tidak ditemukan", } } const existing = await prisma.dataKematian_Kelahiran.findUnique({ where: { - id: id, + uuid: uuid, }, }) @@ -25,7 +25,7 @@ export default async function persentaseKelahiranKematianDelete(context: Context } const deleted = await prisma.dataKematian_Kelahiran.delete({ - where: { id }, + where: { uuid }, }) return { diff --git a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/findUnique.ts b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/findUnique.ts index cdc1a08b..15283fe2 100644 --- a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/findUnique.ts +++ b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/findUnique.ts @@ -3,9 +3,9 @@ import prisma from "@/lib/prisma"; export default async function persentaseKelahiranKematianFindUnique(request: Request) { const url = new URL(request.url); const pathSegments = url.pathname.split('/'); - const id = pathSegments[pathSegments.length - 1]; + const uuid = pathSegments[pathSegments.length - 1]; - if (!id) { + if (!uuid) { return Response.json({ success: false, message: "ID tidak boleh kosong", @@ -13,7 +13,7 @@ export default async function persentaseKelahiranKematianFindUnique(request: Req } try { - if (typeof id !== 'string') { + if (typeof uuid !== 'string') { return Response.json({ success: false, message: "ID tidak valid", @@ -21,7 +21,7 @@ export default async function persentaseKelahiranKematianFindUnique(request: Req } const data = await prisma.dataKematian_Kelahiran.findUnique({ - where: { id }, + where: { uuid }, }); if (!data) { diff --git a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/index.ts b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/index.ts index 62419584..aa116c56 100644 --- a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/index.ts +++ b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/index.ts @@ -9,7 +9,7 @@ const PersentaseKelahiranKematian = new Elysia({ prefix: "/persentasekelahiran", tags: ["Data Kesehatan/Persentase Kelahiran Kematian"], }) - .get("/:id", async (context) => { + .get("/:uuid", async (context) => { const response = await persentaseKelahiranKematianFindUnique(new Request(context.request)) return response }) @@ -22,9 +22,9 @@ const PersentaseKelahiranKematian = new Elysia({ kelahiranKasar: t.String(), }), }) - .put("/:id", persentaseKelahiranKematianUpdate, { + .put("/:uuid", persentaseKelahiranKematianUpdate, { params: t.Object({ - id: t.String(), + uuid: t.String(), }), body: t.Object({ tahun: t.String(), @@ -33,9 +33,9 @@ const PersentaseKelahiranKematian = new Elysia({ kelahiranKasar: t.String(), }), }) - .delete("/del/:id", persentaseKelahiranKematianDelete, { + .delete("/del/:uuid", persentaseKelahiranKematianDelete, { params: t.Object({ - id: t.String(), + uuid: t.String(), }), }) export default PersentaseKelahiranKematian; \ No newline at end of file diff --git a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/updt.ts b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/updt.ts index 48d06603..261c6480 100644 --- a/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/updt.ts +++ b/src/app/api/[[...slugs]]/_lib/kesehatan/data_kesehatan_warga/persentase_kelahiran_kematian/updt.ts @@ -2,12 +2,12 @@ import prisma from "@/lib/prisma"; import { Context } from "elysia"; export default async function persentaseKelahiranKematianUpdate(context: Context) { - const id = context.params?.id; + const uuid = context.params?.uuid; - if (!id) { + if (!uuid) { return { success: false, - message: "Id tidak ditemukan", + message: "ID tidak ditemukan", } } @@ -20,7 +20,7 @@ export default async function persentaseKelahiranKematianUpdate(context: Context const existing = await prisma.dataKematian_Kelahiran.findUnique({ where: { - id: id, + uuid: uuid, }, }) @@ -32,7 +32,7 @@ export default async function persentaseKelahiranKematianUpdate(context: Context } const updated = await prisma.dataKematian_Kelahiran.update({ - where: { id }, + where: { uuid }, data: { tahun, kematianKasar,