upd: api pengaduan

Deskripsi:
- update api tambah pengaduan
- update api pelayanan surat

No Issues
This commit is contained in:
2025-11-19 17:39:27 +08:00
parent 482227a502
commit 236d6cfc72
2 changed files with 25 additions and 24 deletions

View File

@@ -317,7 +317,7 @@ const PelayananRoute = new Elysia({
})
if (!cariCategory) {
throw new Error("kategori pelayanan surat tidak ditemukan")
return { success: false, message: 'kategori pelayanan surat tidak ditemukan' }
} else {
idCategoryFix = cariCategory.id
}

View File

@@ -111,27 +111,34 @@ const PengaduanRoute = new Elysia({
const noPengaduan = await generateNoPengaduan()
let idCategoryFix = kategoriId
let idWargaFix = wargaId
const category = await prisma.categoryPengaduan.findUnique({
where: {
id: kategoriId,
}
})
if (!category) {
const cariCategory = await prisma.categoryPengaduan.findFirst({
if (idCategoryFix) {
const category = await prisma.categoryPengaduan.findUnique({
where: {
name: kategoriId,
id: idCategoryFix,
}
})
if (!cariCategory) {
idCategoryFix = "lainnya"
} else {
idCategoryFix = cariCategory.id
}
if (!category) {
const cariCategory = await prisma.categoryPengaduan.findFirst({
where: {
name: kategoriId,
}
})
if (!cariCategory) {
idCategoryFix = "lainnya"
} else {
idCategoryFix = cariCategory.id
}
}
} else {
idCategoryFix = "lainnya"
}
const warga = await prisma.warga.findUnique({
where: {
id: wargaId,
@@ -193,21 +200,18 @@ const PengaduanRoute = new Elysia({
}, {
body: t.Object({
judulPengaduan: t.String({
minLength: 3,
error: "Judul pengaduan harus diisi dan minimal 3 karakter",
error: "Judul pengaduan harus diisi",
examples: ["Sampah menumpuk di depan rumah"],
description: "Judul singkat dari pengaduan warga"
}),
detailPengaduan: t.String({
minLength: 5,
error: "Deskripsi pengaduan harus diisi dan minimal 10 karakter",
error: "Deskripsi pengaduan harus diisi",
examples: ["Terdapat sampah yang menumpuk selama seminggu di depan rumah saya"],
description: "Penjelasan lebih detail mengenai pengaduan"
}),
lokasi: t.String({
minLength: 5,
error: "Lokasi pengaduan harus diisi",
examples: ["Jl. Raya No. 1, RT 01 RW 02, Darmasaba"],
description: "Alamat atau titik lokasi pengaduan"
@@ -220,21 +224,18 @@ const PengaduanRoute = new Elysia({
}),
kategoriId: t.String({
minLength: 1,
error: "ID kategori pengaduan harus diisi",
optional: true,
examples: ["kebersihan"],
description: "ID atau nama kategori pengaduan (contoh: kebersihan, keamanan, lainnya)"
}),
wargaId: t.String({
minLength: 1,
error: "ID warga harus diisi",
optional: true,
examples: ["budiman"],
description: "ID unik warga yang melapor (jika sudah terdaftar)"
}),
noTelepon: t.String({
minLength: 1,
error: "Nomor telepon harus diisi",
examples: ["08123456789", "+628123456789"],
description: "Nomor telepon warga pelapor"