Merge pull request 'upd: pelayanan' (#6) from amalia/31-okt-25 into main

Reviewed-on: http://wibugit.wibudev.com/wibu/jenna-mcp/pulls/6
This commit is contained in:
2025-10-31 12:10:52 +08:00
2 changed files with 111 additions and 3 deletions

View File

@@ -1,17 +1,18 @@
import Swagger from "@elysiajs/swagger";
import Elysia from "elysia";
import html from "./index.html";
import { convertOpenApiToMcp } from "./server/lib/mcp-converter";
import { apiAuth } from "./server/middlewares/apiAuth";
import AduanRoute from "./server/routes/aduan_route";
import ApiKeyRoute from "./server/routes/apikey_route";
import Auth from "./server/routes/auth_route";
import CredentialRoute from "./server/routes/credential_route";
import DarmasabaRoute from "./server/routes/darmasaba_route";
import { convertOpenApiToMcp } from "./server/lib/mcp-converter";
import UserRoute from "./server/routes/user_route";
import LayananRoute from "./server/routes/layanan_route";
import AduanRoute from "./server/routes/aduan_route";
import { MCPRoute } from "./server/routes/mcp_route";
import PelayananRoute from "./server/routes/pelayanan_surat_route";
import PengaduanRoute from "./server/routes/pengaduan_route";
import UserRoute from "./server/routes/user_route";
const Docs = new Elysia({
tags: ["docs"],
@@ -26,6 +27,7 @@ const Api = new Elysia({
tags: ["api"],
})
.use(PengaduanRoute)
.use(PelayananRoute)
.use(apiAuth)
.use(ApiKeyRoute)
.use(DarmasabaRoute)

View File

@@ -0,0 +1,106 @@
import Elysia, { t } from "elysia"
import { prisma } from "../lib/prisma"
const PelayananRoute = new Elysia({
prefix: "pelayanan",
tags: ["pelayanan"],
})
// --- KATEGORI PELAYANAN ---
.get("/category", async () => {
const data = await prisma.categoryPelayanan.findMany({
where: {
isActive: true
}
})
return data
}, {
detail: {
summary: "List Kategori Pelayanan Surat",
description: `tool untuk mendapatkan list kategori pelayanan surat`,
tags: ["mcp"]
}
})
.post("/category/create", async ({ body }) => {
const { name, syaratDokumen, dataText } = body
await prisma.categoryPelayanan.create({
data: {
name,
syaratDokumen,
dataText,
}
})
return `
${JSON.stringify(body)}
kategori pelayanan surat sudah dibuat`
}, {
body: t.Object({
name: t.String({ minLength: 1, error: "name harus diisi" }),
syaratDokumen: t.Array(t.String({ minLength: 1, error: "syaratDokumen harus diisi" })),
dataText: t.Array(t.String({ minLength: 1, error: "dataText harus diisi" })),
}),
detail: {
summary: "buat kategori pelayanan surat",
description: `tool untuk membuat kategori pelayanan surat`
}
})
.post("/category/update", async ({ body }) => {
const { id, name, syaratDokumen, dataText } = body
await prisma.categoryPelayanan.update({
where: {
id,
},
data: {
name,
syaratDokumen,
dataText,
}
})
return `
${JSON.stringify(body)}
kategori pelayanan surat sudah diperbarui`
}, {
body: t.Object({
id: t.String({ minLength: 1, error: "id harus diisi" }),
name: t.String({ minLength: 1, error: "name harus diisi" }),
syaratDokumen: t.Array(t.String({ minLength: 1, error: "syaratDokumen harus diisi" })),
dataText: t.Array(t.String({ minLength: 1, error: "dataText harus diisi" })),
}),
detail: {
summary: "update kategori pelayanan surat",
description: `tool untuk update kategori pelayanan surat`
}
})
.post("/category/delete", async ({ body }) => {
const { id } = body
await prisma.categoryPelayanan.update({
where: {
id,
},
data: {
isActive: false
}
})
return `
${JSON.stringify(body)}
kategori pelayanan surat sudah dihapus`
}, {
body: t.Object({
id: t.String({ minLength: 1, error: "id harus diisi" }),
}),
detail: {
summary: "delete kategori pelayanan surat",
description: `tool untuk delete kategori pelayanan surat`
}
})
export default PelayananRoute