From a253d40d19ef0fad5c7211b1d2ea597b7dd1a4fc Mon Sep 17 00:00:00 2001 From: amaliadwiy Date: Tue, 25 Nov 2025 14:58:40 +0800 Subject: [PATCH] upd: api jenna ai Deskripsi: - tambah pengaduan NO Issues --- src/server/routes/pengaduan_route.ts | 50 +++++++++++----------------- 1 file changed, 19 insertions(+), 31 deletions(-) diff --git a/src/server/routes/pengaduan_route.ts b/src/server/routes/pengaduan_route.ts index 9fa4c4f..8d61182 100644 --- a/src/server/routes/pengaduan_route.ts +++ b/src/server/routes/pengaduan_route.ts @@ -107,11 +107,11 @@ const PengaduanRoute = new Elysia({ // --- PENGADUAN --- .post("/create", async ({ body }) => { - const { judulPengaduan, detailPengaduan, lokasi, namaGambar, kategoriId, wargaId, noTelepon } = body + const { judulPengaduan, detailPengaduan, lokasi, namaGambar, kategoriId, namaWarga, noTelepon } = body let imageFix = namaGambar const noPengaduan = await generateNoPengaduan() let idCategoryFix = kategoriId - let idWargaFix = wargaId + let idWargaFix = "" if (idCategoryFix) { const category = await prisma.categoryPengaduan.findUnique({ @@ -138,38 +138,26 @@ const PengaduanRoute = new Elysia({ idCategoryFix = "lainnya" } - - - const warga = await prisma.warga.findUnique({ + const nomorHP = normalizePhoneNumber({ phone: noTelepon }) + const dataWarga = await prisma.warga.upsert({ where: { - id: wargaId, + phone: nomorHP + }, + create: { + name: namaWarga, + phone: nomorHP, + }, + update: { + name: namaWarga, + phone: nomorHP, + }, + select: { + id: true } }) - if (!warga) { - const nomorHP = normalizePhoneNumber({ phone: noTelepon }) - const cariWarga = await prisma.warga.findUnique({ - where: { - phone: nomorHP, - } - }) + idWargaFix = dataWarga.id - if (!cariWarga) { - const wargaCreate = await prisma.warga.create({ - data: { - name: wargaId, - phone: nomorHP, - }, - select: { - id: true - } - }) - idWargaFix = wargaCreate.id - } else { - idWargaFix = cariWarga.id - } - - } const pengaduan = await prisma.pengaduan.create({ data: { @@ -228,9 +216,9 @@ const PengaduanRoute = new Elysia({ description: "ID atau nama kategori pengaduan (contoh: kebersihan, keamanan, lainnya)" })), - wargaId: t.Optional(t.String({ + namaWarga: t.Optional(t.String({ examples: ["budiman"], - description: "ID unik warga yang melapor (jika sudah terdaftar)" + description: "Nama warga yang melapor" })), noTelepon: t.String({