update api pengaduan
This commit is contained in:
@@ -13,6 +13,7 @@ import AduanRoute from "./server/routes/aduan_route";
|
||||
|
||||
import { cors } from "@elysiajs/cors";
|
||||
import { MCPRoute } from "./server/routes/mcp_route";
|
||||
import PengaduanRoute from "./server/routes/pengaduan_route";
|
||||
|
||||
const Docs = new Elysia({
|
||||
tags: ["docs"],
|
||||
@@ -32,7 +33,8 @@ const Api = new Elysia({
|
||||
.use(CredentialRoute)
|
||||
.use(UserRoute)
|
||||
.use(LayananRoute)
|
||||
.use(AduanRoute);
|
||||
.use(AduanRoute)
|
||||
.use(PengaduanRoute);
|
||||
|
||||
const app = new Elysia()
|
||||
.use(Api)
|
||||
|
||||
@@ -148,7 +148,7 @@ const PengaduanRoute = new Elysia({
|
||||
}
|
||||
})
|
||||
.post("/update-status", async ({ body }) => {
|
||||
const { id, status, keterangan } = body
|
||||
const { id, status, keterangan, idUser } = body
|
||||
let deskripsi = ""
|
||||
|
||||
const pengaduan = await prisma.pengaduan.update({
|
||||
@@ -165,13 +165,13 @@ const PengaduanRoute = new Elysia({
|
||||
throw new Error("gagal membuat pengaduan")
|
||||
}
|
||||
|
||||
if(status === "diterima") {
|
||||
if (status === "diterima") {
|
||||
deskripsi = "Pengaduan diterima oleh admin"
|
||||
} else if(status === "dikerjakan") {
|
||||
} else if (status === "dikerjakan") {
|
||||
deskripsi = "Pengaduan dikerjakan oleh petugas"
|
||||
} else if(status === "ditolak") {
|
||||
} else if (status === "ditolak") {
|
||||
deskripsi = "Pengaduan ditolak dengan keterangan " + keterangan
|
||||
} else if(status === "selesai") {
|
||||
} else if (status === "selesai") {
|
||||
deskripsi = "Pengaduan selesai"
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ const PengaduanRoute = new Elysia({
|
||||
idPengaduan: pengaduan.id,
|
||||
deskripsi,
|
||||
status: status as StatusPengaduan,
|
||||
idUser: ""
|
||||
idUser,
|
||||
}
|
||||
})
|
||||
|
||||
@@ -192,7 +192,8 @@ const PengaduanRoute = new Elysia({
|
||||
body: t.Object({
|
||||
id: t.String({ minLength: 1, error: "id harus diisi" }),
|
||||
status: t.String({ minLength: 1, error: "status harus diisi" }),
|
||||
keterangan: t.Any()
|
||||
keterangan: t.Any(),
|
||||
idUser: t.String({ minLength: 1, error: "idUser harus diisi" }),
|
||||
}),
|
||||
|
||||
detail: {
|
||||
@@ -200,4 +201,89 @@ const PengaduanRoute = new Elysia({
|
||||
description: `tool untuk update status pengaduan`
|
||||
}
|
||||
})
|
||||
.get("/detail", async ({ query }) => {
|
||||
const { id } = query
|
||||
const data = await prisma.pengaduan.findUnique({
|
||||
where: {
|
||||
id,
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
noPengaduan: true,
|
||||
title: true,
|
||||
detail: true,
|
||||
location: true,
|
||||
image: true,
|
||||
idCategory: true,
|
||||
idWarga: true,
|
||||
status: true,
|
||||
keterangan: true,
|
||||
createdAt: true,
|
||||
updatedAt: true,
|
||||
CategoryPengaduan: {
|
||||
select: {
|
||||
name: true
|
||||
}
|
||||
},
|
||||
Warga: {
|
||||
select: {
|
||||
name: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
const dataHistory = await prisma.historyPengaduan.findMany({
|
||||
where: {
|
||||
idPengaduan: id,
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
deskripsi: true,
|
||||
status: true,
|
||||
createdAt: true,
|
||||
idUser: true,
|
||||
User: {
|
||||
select: {
|
||||
name: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
const dataHistoryFix = dataHistory.map((item) => {
|
||||
return {
|
||||
id: item.id,
|
||||
deskripsi: item.deskripsi,
|
||||
status: item.status,
|
||||
createdAt: item.createdAt,
|
||||
idUser: item.idUser,
|
||||
nameUser: item.User?.name,
|
||||
}
|
||||
})
|
||||
|
||||
const datafix = {
|
||||
id: data?.id,
|
||||
noPengaduan: data?.noPengaduan,
|
||||
title: data?.title,
|
||||
detail: data?.detail,
|
||||
location: data?.location,
|
||||
image: data?.image,
|
||||
CategoryPengaduan: data?.CategoryPengaduan.name,
|
||||
idWarga: data?.idWarga,
|
||||
nameWarga: data?.Warga?.name,
|
||||
status: data?.status,
|
||||
keterangan: data?.keterangan,
|
||||
createdAt: data?.createdAt,
|
||||
updatedAt: data?.updatedAt,
|
||||
history: dataHistoryFix,
|
||||
}
|
||||
|
||||
return datafix
|
||||
}, {
|
||||
detail: {
|
||||
summary: "get detail pengaduan",
|
||||
description: `tool untuk mendapatkan detail pengaduan`
|
||||
}
|
||||
})
|
||||
export default PengaduanRoute
|
||||
|
||||
Reference in New Issue
Block a user