Deskripsi: - ttd pada semua format surat - fix api warga -- salah summary - nama file surat saat download No Issues
66 lines
1.7 KiB
TypeScript
66 lines
1.7 KiB
TypeScript
import Elysia, { t } from "elysia";
|
|
import { prisma } from "../lib/prisma";
|
|
|
|
const SuratRoute = new Elysia({
|
|
prefix: "surat",
|
|
tags: ["surat"],
|
|
})
|
|
.get("/detail", async ({ query }) => {
|
|
const { id } = query
|
|
|
|
const dataSurat = await prisma.suratPelayanan.findUnique({
|
|
where: {
|
|
id
|
|
},
|
|
select: {
|
|
id: true,
|
|
noSurat: true,
|
|
idCategory: true,
|
|
createdAt: true,
|
|
PelayananAjuan: {
|
|
select: {
|
|
DataTextPelayanan: true,
|
|
}
|
|
},
|
|
CategoryPelayanan: {
|
|
select: {
|
|
name: true,
|
|
}
|
|
}
|
|
}
|
|
})
|
|
|
|
const dataSetting = await prisma.configuration.findMany()
|
|
|
|
const toObject = (arr: any[]) =>
|
|
dataSetting.reduce((acc: any, item: any) => {
|
|
acc[item.id] = item.value;
|
|
return acc;
|
|
}, {});
|
|
|
|
return {
|
|
surat: {
|
|
id: dataSurat?.id,
|
|
idCategory: dataSurat?.idCategory,
|
|
nameCategory: dataSurat?.CategoryPelayanan?.name,
|
|
noSurat: dataSurat?.noSurat,
|
|
dataText: dataSurat?.PelayananAjuan?.DataTextPelayanan,
|
|
createdAt: dataSurat?.createdAt.toLocaleDateString("id-ID", { day: "numeric", month: "long", year: "numeric" }),
|
|
},
|
|
setting: toObject(dataSetting)
|
|
}
|
|
|
|
}, {
|
|
query: t.Object({
|
|
id: t.String({ minLength: 1, error: "id harus diisi" })
|
|
}),
|
|
detail: {
|
|
summary: "Detail Surat",
|
|
description: `tool untuk mendapatkan detail surat`,
|
|
}
|
|
|
|
})
|
|
;
|
|
|
|
export default SuratRoute
|