upd: api jenna ai

Deskripsi:
- tambah pengaduan

NO Issues
This commit is contained in:
2025-11-25 14:58:40 +08:00
parent 26c7357ca3
commit a253d40d19

View File

@@ -107,11 +107,11 @@ const PengaduanRoute = new Elysia({
// --- PENGADUAN --- // --- PENGADUAN ---
.post("/create", async ({ body }) => { .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 let imageFix = namaGambar
const noPengaduan = await generateNoPengaduan() const noPengaduan = await generateNoPengaduan()
let idCategoryFix = kategoriId let idCategoryFix = kategoriId
let idWargaFix = wargaId let idWargaFix = ""
if (idCategoryFix) { if (idCategoryFix) {
const category = await prisma.categoryPengaduan.findUnique({ const category = await prisma.categoryPengaduan.findUnique({
@@ -138,38 +138,26 @@ const PengaduanRoute = new Elysia({
idCategoryFix = "lainnya" idCategoryFix = "lainnya"
} }
const warga = await prisma.warga.findUnique({
where: {
id: wargaId,
}
})
if (!warga) {
const nomorHP = normalizePhoneNumber({ phone: noTelepon }) const nomorHP = normalizePhoneNumber({ phone: noTelepon })
const cariWarga = await prisma.warga.findUnique({ const dataWarga = await prisma.warga.upsert({
where: { where: {
phone: nomorHP
},
create: {
name: namaWarga,
phone: nomorHP, phone: nomorHP,
} },
}) update: {
name: namaWarga,
if (!cariWarga) {
const wargaCreate = await prisma.warga.create({
data: {
name: wargaId,
phone: nomorHP, phone: nomorHP,
}, },
select: { select: {
id: true id: true
} }
}) })
idWargaFix = wargaCreate.id
} else {
idWargaFix = cariWarga.id
}
} idWargaFix = dataWarga.id
const pengaduan = await prisma.pengaduan.create({ const pengaduan = await prisma.pengaduan.create({
data: { data: {
@@ -228,9 +216,9 @@ const PengaduanRoute = new Elysia({
description: "ID atau nama kategori pengaduan (contoh: kebersihan, keamanan, lainnya)" description: "ID atau nama kategori pengaduan (contoh: kebersihan, keamanan, lainnya)"
})), })),
wargaId: t.Optional(t.String({ namaWarga: t.Optional(t.String({
examples: ["budiman"], examples: ["budiman"],
description: "ID unik warga yang melapor (jika sudah terdaftar)" description: "Nama warga yang melapor"
})), })),
noTelepon: t.String({ noTelepon: t.String({