Sisa 1 Tabs aja yang data kesehatan warga
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type JadwalKegiatanInput = {
|
||||
content: string;
|
||||
informasiJadwalKegiatan: { name: string; tanggal: string; waktu: string; lokasi: string };
|
||||
deskripsiJadwalKegiatan: { deskripsi: string };
|
||||
layananJadwalKegiatan: { content: string };
|
||||
syaratKetentuanJadwalKegiatan: { content: string };
|
||||
dokumenJadwalKegiatan: { content: string };
|
||||
pendaftaranJadwalKegiatan: { name: string, tanggal: string, namaOrangtua: string, nomor: string, alamat: string, catatan: string };
|
||||
}
|
||||
|
||||
const jadwalKegiatanCreate = async (context: Context) => {
|
||||
const body = await context.body as JadwalKegiatanInput;
|
||||
|
||||
const {
|
||||
content,
|
||||
informasiJadwalKegiatan,
|
||||
deskripsiJadwalKegiatan,
|
||||
layananJadwalKegiatan,
|
||||
syaratKetentuanJadwalKegiatan,
|
||||
dokumenJadwalKegiatan,
|
||||
pendaftaranJadwalKegiatan,
|
||||
} = body;
|
||||
|
||||
const [createdInformasiJadwalKegiatan, createdDeskripsiJadwalKegiatan, createdLayananJadwalKegiatan, createdSyaratKetentuanJadwalKegiatan, createdDokumenJadwalKegiatan, createdPendaftaranJadwalKegiatan] = await Promise.all([
|
||||
prisma.informasiJadwalKegiatan.create({ data: informasiJadwalKegiatan }),
|
||||
prisma.deskripsiJadwalKegiatan.create({ data: deskripsiJadwalKegiatan }),
|
||||
prisma.layananJadwalKegiatan.create({ data: layananJadwalKegiatan }),
|
||||
prisma.syaratKetentuanJadwalKegiatan.create({ data: syaratKetentuanJadwalKegiatan }),
|
||||
prisma.dokumenJadwalKegiatan.create({ data: dokumenJadwalKegiatan }),
|
||||
prisma.pendaftaranJadwalKegiatan.create({ data: pendaftaranJadwalKegiatan }),
|
||||
])
|
||||
|
||||
const jadwalKegiatan = await prisma.jadwalKegiatan.create({
|
||||
data: {
|
||||
content,
|
||||
informasiJadwalKegiatanId: createdInformasiJadwalKegiatan.id,
|
||||
deskripsiJadwalKegiatanId: createdDeskripsiJadwalKegiatan.id,
|
||||
layananJadwalKegiatanId: createdLayananJadwalKegiatan.id,
|
||||
syaratKetentuanJadwalKegiatanId: createdSyaratKetentuanJadwalKegiatan.id,
|
||||
dokumenJadwalKegiatanId: createdDokumenJadwalKegiatan.id,
|
||||
pendaftaranJadwalKegiatanId: createdPendaftaranJadwalKegiatan.id,
|
||||
},
|
||||
include: {
|
||||
informasijadwalkegiatan: true,
|
||||
deskripsijadwalkegiatan: true,
|
||||
layananjadwalkegiatan: true,
|
||||
syaratketentuanjadwalkegiatan: true,
|
||||
dokumenjadwalkegiatan: true,
|
||||
pendaftaranjadwalkegiatan: true,
|
||||
}
|
||||
})
|
||||
return {
|
||||
success: true,
|
||||
message: "Success create jadwal kegiatan",
|
||||
data: jadwalKegiatan
|
||||
}
|
||||
}
|
||||
export default jadwalKegiatanCreate;
|
||||
@@ -0,0 +1,43 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
const jadwalKegiatanDelete = async (context: Context) => {
|
||||
const id = context.params?.id as string;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
status: 400,
|
||||
message: "ID tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const jadwalKegiatan = await prisma.jadwalKegiatan.findUnique({
|
||||
where: { id },
|
||||
include: {
|
||||
informasijadwalkegiatan: true,
|
||||
deskripsijadwalkegiatan: true,
|
||||
layananjadwalkegiatan: true,
|
||||
syaratketentuanjadwalkegiatan: true,
|
||||
dokumenjadwalkegiatan: true,
|
||||
pendaftaranjadwalkegiatan: true,
|
||||
}
|
||||
})
|
||||
|
||||
if (!jadwalKegiatan) {
|
||||
return {
|
||||
status: 404,
|
||||
message: "Jadwal kegiatan tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
await prisma.jadwalKegiatan.delete({
|
||||
where: { id },
|
||||
})
|
||||
|
||||
return {
|
||||
status: 200,
|
||||
success: true,
|
||||
message: "Jadwal kegiatan berhasil dihapus",
|
||||
}
|
||||
}
|
||||
export default jadwalKegiatanDelete
|
||||
@@ -1,28 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.DeskripsiJadwalKegiatanGetPayload<{
|
||||
select: {
|
||||
deskripsi: true
|
||||
}
|
||||
}>
|
||||
|
||||
async function deskripsiJadwalKegiatanCreate(context: Context) {
|
||||
const body = context.body as FormCreate
|
||||
|
||||
await prisma.deskripsiJadwalKegiatan.create({
|
||||
data: {
|
||||
deskripsi: body.deskripsi,
|
||||
}
|
||||
})
|
||||
return{
|
||||
success: true,
|
||||
message: "Success create deskripsi jadwal kegiatan",
|
||||
data: {
|
||||
...body
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default deskripsiJadwalKegiatanCreate
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function deskripsiJadwalKegiatanFindMany() {
|
||||
const res = await prisma.deskripsiJadwalKegiatan.findMany();
|
||||
return {
|
||||
data: res
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import deskripsiJadwalKegiatanFindMany from "./find-many";
|
||||
import deskripsiJadwalKegiatanCreate from "./create";
|
||||
|
||||
const DeskripsiJadwalKegiatan = new Elysia({
|
||||
prefix: "/deskripsikegiatan",
|
||||
tags: ["Data Kesehatan/Jadwal Kegiatan/Deskripsi Kegiatan"],
|
||||
})
|
||||
.get("/find-many", deskripsiJadwalKegiatanFindMany)
|
||||
.post("/create", deskripsiJadwalKegiatanCreate, {
|
||||
body: t.Object({
|
||||
deskripsi: t.String(),
|
||||
}),
|
||||
})
|
||||
|
||||
export default DeskripsiJadwalKegiatan
|
||||
@@ -1,26 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.DokumenJadwalKegiatanGetPayload<{
|
||||
select: {
|
||||
content: true
|
||||
}
|
||||
}>
|
||||
|
||||
export default async function DokumenDiperlukanCreate(context: Context){
|
||||
const body = context.body as FormCreate
|
||||
|
||||
await prisma.dokumenJadwalKegiatan.create({
|
||||
data: {
|
||||
content: body.content
|
||||
}
|
||||
})
|
||||
return {
|
||||
success: true,
|
||||
message: "Success create dokumen yang diperlukan",
|
||||
data: {
|
||||
...body
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function DokumenDiperlukanFindMany() {
|
||||
const res = await prisma.dokumenJadwalKegiatan.findMany();
|
||||
return {
|
||||
data: res,
|
||||
};
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import DokumenDiperlukanCreate from "./create";
|
||||
import DokumenDiperlukanFindMany from "./find-many";
|
||||
|
||||
const DokumenDiperlukan = new Elysia({
|
||||
prefix: "/dokumendiperlukan",
|
||||
tags: ["Data Kesehatan/Jadwal Kegiatan/Dokumen yang diperlukan"]
|
||||
})
|
||||
|
||||
.get("/find-many", DokumenDiperlukanFindMany)
|
||||
.post("/create", DokumenDiperlukanCreate, {
|
||||
body: t.Object({
|
||||
content: t.String()
|
||||
})
|
||||
})
|
||||
|
||||
export default DokumenDiperlukan
|
||||
@@ -0,0 +1,30 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function jadwalKegiatanFindMany() {
|
||||
try {
|
||||
const data = await prisma.jadwalKegiatan.findMany({
|
||||
where: {
|
||||
isActive: true,
|
||||
},
|
||||
include: {
|
||||
informasijadwalkegiatan: true,
|
||||
deskripsijadwalkegiatan: true,
|
||||
layananjadwalkegiatan: true,
|
||||
syaratketentuanjadwalkegiatan: true,
|
||||
dokumenjadwalkegiatan: true,
|
||||
pendaftaranjadwalkegiatan: true,
|
||||
}
|
||||
})
|
||||
return {
|
||||
success: true,
|
||||
message: "Success fetch jadwal kegiatan",
|
||||
data,
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Find many error:", error);
|
||||
return {
|
||||
success: false,
|
||||
message: "Failed fetch jadwal kegiatan",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function jadwalKegiatanFindUnique(request: Request) {
|
||||
const url = new URL(request.url);
|
||||
const pathSegments = url.pathname.split('/');
|
||||
const id = pathSegments[pathSegments.length - 1];
|
||||
|
||||
if (!id) {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "ID tidak boleh kosong",
|
||||
}, { status: 400 })
|
||||
}
|
||||
|
||||
try {
|
||||
if (typeof id !== 'string') {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "ID tidak valid",
|
||||
}, { status: 400 })
|
||||
}
|
||||
|
||||
const data = await prisma.jadwalKegiatan.findUnique({
|
||||
where: {id},
|
||||
include: {
|
||||
informasijadwalkegiatan: true,
|
||||
deskripsijadwalkegiatan: true,
|
||||
layananjadwalkegiatan: true,
|
||||
syaratketentuanjadwalkegiatan: true,
|
||||
dokumenjadwalkegiatan: true,
|
||||
pendaftaranjadwalkegiatan: true,
|
||||
}
|
||||
})
|
||||
|
||||
if (!data) {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}, { status: 404 })
|
||||
}
|
||||
|
||||
return Response.json({
|
||||
success: true,
|
||||
data,
|
||||
}, { status: 200 })
|
||||
} catch (error) {
|
||||
console.error("Gagal mengambil data jadwal kegiatan:", error);
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "Gagal mengambil data jadwal kegiatan",
|
||||
}, { status: 500 })
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import jadwalKegiatanCreate from "./create";
|
||||
import jadwalKegiatanFindMany from "./findMany";
|
||||
import jadwalKegiatanDelete from "./del";
|
||||
import jadwalKegiatanFindUnique from "./findUnique";
|
||||
import jadwalKegiatanUpdate from "./updt";
|
||||
|
||||
const JadwalKegiatan = new Elysia({
|
||||
prefix: "jadwal-kegiatan",
|
||||
tags: ["Kesehatan/Jadwal Kegiatan"],
|
||||
})
|
||||
.post("/create", jadwalKegiatanCreate, {
|
||||
body: t.Object({
|
||||
content: t.String(),
|
||||
informasiJadwalKegiatan: t.Object({
|
||||
name: t.String(),
|
||||
tanggal: t.String(),
|
||||
waktu: t.String(),
|
||||
lokasi: t.String(),
|
||||
}),
|
||||
deskripsiJadwalKegiatan: t.Object({
|
||||
deskripsi: t.String(),
|
||||
}),
|
||||
layananJadwalKegiatan: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
syaratKetentuanJadwalKegiatan: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
dokumenJadwalKegiatan: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
pendaftaranJadwalKegiatan: t.Object({
|
||||
name: t.String(),
|
||||
tanggal: t.String(),
|
||||
namaOrangtua: t.String(),
|
||||
nomor: t.String(),
|
||||
alamat: t.String(),
|
||||
catatan: t.String(),
|
||||
}),
|
||||
}),
|
||||
})
|
||||
.get("/find-many", jadwalKegiatanFindMany)
|
||||
.delete("/del/:id", jadwalKegiatanDelete)
|
||||
.get("/:id", async (context) => {
|
||||
const response = await jadwalKegiatanFindUnique(
|
||||
new Request(context.request)
|
||||
);
|
||||
return response;
|
||||
})
|
||||
.put(
|
||||
"/:id",
|
||||
async (context) => {
|
||||
const response = await jadwalKegiatanUpdate(context);
|
||||
return response;
|
||||
},
|
||||
{
|
||||
body: t.Object({
|
||||
content: t.String(),
|
||||
informasiJadwalKegiatan: t.Object({
|
||||
name: t.String(),
|
||||
tanggal: t.String(),
|
||||
waktu: t.String(),
|
||||
lokasi: t.String(),
|
||||
}),
|
||||
deskripsiJadwalKegiatan: t.Object({
|
||||
deskripsi: t.String(),
|
||||
}),
|
||||
layananJadwalKegiatan: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
syaratKetentuanJadwalKegiatan: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
dokumenJadwalKegiatan: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
pendaftaranJadwalKegiatan: t.Object({
|
||||
name: t.String(),
|
||||
tanggal: t.String(),
|
||||
namaOrangtua: t.String(),
|
||||
nomor: t.String(),
|
||||
alamat: t.String(),
|
||||
catatan: t.String(),
|
||||
}),
|
||||
}),
|
||||
}
|
||||
);
|
||||
export default JadwalKegiatan;
|
||||
@@ -1,33 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.InformasiJadwalKegiatanGetPayload<{
|
||||
select: {
|
||||
name: true
|
||||
tanggal: true
|
||||
waktu: true
|
||||
lokasi: true
|
||||
}
|
||||
}>
|
||||
|
||||
async function informasiJadwalKegiatanCreate(context: Context) {
|
||||
const body = context.body as FormCreate
|
||||
|
||||
await prisma.informasiJadwalKegiatan.create({
|
||||
data: {
|
||||
name: body.name,
|
||||
tanggal: body.tanggal,
|
||||
waktu: body.waktu,
|
||||
lokasi: body.lokasi,
|
||||
}
|
||||
})
|
||||
return{
|
||||
success: true,
|
||||
message: "Success create informasi jadwal kegiatan",
|
||||
data: {
|
||||
...body
|
||||
}
|
||||
}
|
||||
}
|
||||
export default informasiJadwalKegiatanCreate
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function informasiJadwalKegiatanFindMany() {
|
||||
const res = await prisma.informasiJadwalKegiatan.findMany();
|
||||
return {
|
||||
data: res
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import informasiJadwalKegiatanFindMany from "./find-many";
|
||||
import informasiJadwalKegiatanCreate from "./create";
|
||||
|
||||
const InformasiJadwalKegiatan = new Elysia({
|
||||
prefix: "/informasiJadwalKegiatan",
|
||||
tags: ["Data Kesehatan/Jadwal Kegiatan/Informasi Kegiatan"],
|
||||
})
|
||||
.get("/find-many", informasiJadwalKegiatanFindMany)
|
||||
.post("/create", informasiJadwalKegiatanCreate, {
|
||||
body: t.Object({
|
||||
name: t.String(),
|
||||
tanggal: t.String(),
|
||||
waktu: t.String(),
|
||||
lokasi: t.String(),
|
||||
}),
|
||||
})
|
||||
|
||||
export default InformasiJadwalKegiatan
|
||||
@@ -1,26 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.LayananJadwalKegiatanGetPayload<{
|
||||
select: {
|
||||
content: true
|
||||
}
|
||||
}>
|
||||
|
||||
export default async function LayananTersediaCreate(context: Context) {
|
||||
const body = context.body as FormCreate
|
||||
|
||||
await prisma.layananJadwalKegiatan.create({
|
||||
data: {
|
||||
content: body.content
|
||||
}
|
||||
})
|
||||
return {
|
||||
success: true,
|
||||
message: "Success create layanan yang tersedia",
|
||||
data: {
|
||||
...body
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function LayananTersediaFindMany() {
|
||||
const res = await prisma.layananJadwalKegiatan.findMany();
|
||||
return {
|
||||
data: res
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import LayananTersediaFindMany from "./find-many";
|
||||
import LayananTersediaCreate from "./create";
|
||||
|
||||
const LayananTersedia = new Elysia({
|
||||
prefix: "/layanantersedia",
|
||||
tags: ["Data Kesehatan/Jadwal Kegiatan/Layanan Tersedia"]
|
||||
})
|
||||
|
||||
.get("/find-many", LayananTersediaFindMany)
|
||||
.post("/create", LayananTersediaCreate, {
|
||||
body: t.Object({
|
||||
content: t.String()
|
||||
})
|
||||
})
|
||||
|
||||
export default LayananTersedia
|
||||
@@ -1,36 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.PendaftaranJadwalKegiatanGetPayload<{
|
||||
select: {
|
||||
name: true
|
||||
tanggal: true
|
||||
namaOrangtua: true
|
||||
nomor: true
|
||||
alamat: true
|
||||
catatan: true
|
||||
}
|
||||
}>
|
||||
|
||||
export default async function PendaftaranJadwalCreate(context: Context) {
|
||||
const body = context.body as FormCreate
|
||||
|
||||
await prisma.pendaftaranJadwalKegiatan.create({
|
||||
data: {
|
||||
name: body.name,
|
||||
tanggal: body.tanggal,
|
||||
namaOrangtua: body.namaOrangtua,
|
||||
nomor: body.nomor,
|
||||
alamat: body.alamat,
|
||||
catatan: body.catatan
|
||||
}
|
||||
})
|
||||
return {
|
||||
success: true,
|
||||
message: "Success create pendaftaran jadwal kegiatan",
|
||||
data: {
|
||||
...body
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function PendaftaranJadwalFindMany() {
|
||||
const res = await prisma.pendaftaranJadwalKegiatan.findMany();
|
||||
return {
|
||||
data: res,
|
||||
};
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
import Elysia, { t } from "elysia"
|
||||
import PendaftaranJadwalFindMany from "./find-many"
|
||||
import PendaftaranJadwalCreate from "./create"
|
||||
|
||||
const PendaftaranJadwal = new Elysia({
|
||||
prefix: "/pendaftaranJadwalKegiatan",
|
||||
tags: ["Data Kesehatan/Jadwal Kegiatan/Pendaftaran Jadwal"],
|
||||
})
|
||||
.get("/find-many", PendaftaranJadwalFindMany)
|
||||
.post("/create", PendaftaranJadwalCreate, {
|
||||
body: t.Object({
|
||||
name: t.String(),
|
||||
tanggal: t.String(),
|
||||
namaOrangtua: t.String(),
|
||||
nomor: t.String(),
|
||||
alamat: t.String(),
|
||||
catatan: t.String(),
|
||||
})
|
||||
})
|
||||
|
||||
export default PendaftaranJadwal
|
||||
@@ -1,26 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.SyaratKetentuanJadwalKegiatanGetPayload<{
|
||||
select: {
|
||||
content: true;
|
||||
};
|
||||
}>;
|
||||
|
||||
export default async function SyaratKetentuanCreate(context: Context) {
|
||||
const body = context.body as FormCreate;
|
||||
|
||||
await prisma.syaratKetentuanJadwalKegiatan.create({
|
||||
data: {
|
||||
content: body.content,
|
||||
},
|
||||
});
|
||||
return {
|
||||
success: true,
|
||||
message: "Success create syarat ketentuan jadwal kegiatan",
|
||||
data: {
|
||||
...body,
|
||||
},
|
||||
};
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function SyaratKetentuanFindMany() {
|
||||
const res = await prisma.syaratKetentuanJadwalKegiatan.findMany();
|
||||
return {
|
||||
data: res
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import SyaratKetentuanFindMany from "./find-many";
|
||||
import SyaratKetentuanCreate from "./create";
|
||||
|
||||
const SyaratKetentuan = new Elysia({
|
||||
prefix: "/syaratketentuan",
|
||||
tags: ["Data Kesehatan/Jadwal Kegiatan/Syarat dan Ketentuan"]
|
||||
})
|
||||
.get("/find-many", SyaratKetentuanFindMany)
|
||||
.post("/create", SyaratKetentuanCreate, {
|
||||
body: t.Object({
|
||||
content: t.String()
|
||||
})
|
||||
})
|
||||
|
||||
export default SyaratKetentuan
|
||||
@@ -0,0 +1,103 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type JadwalKegiatanUpdateInput = {
|
||||
content: string;
|
||||
informasiJadwalKegiatan: {
|
||||
name: string;
|
||||
tanggal: string;
|
||||
waktu: string;
|
||||
lokasi: string;
|
||||
};
|
||||
deskripsiJadwalKegiatan: { deskripsi: string };
|
||||
layananJadwalKegiatan: { content: string };
|
||||
syaratKetentuanJadwalKegiatan: { content: string };
|
||||
dokumenJadwalKegiatan: { content: string };
|
||||
pendaftaranJadwalKegiatan: {
|
||||
name: string;
|
||||
tanggal: string;
|
||||
namaOrangtua: string;
|
||||
nomor: string;
|
||||
alamat: string;
|
||||
catatan: string;
|
||||
};
|
||||
};
|
||||
|
||||
const jadwalKegiatanUpdate = async (context: Context) => {
|
||||
const id = context.params?.id as string;
|
||||
const body = (await context.body) as JadwalKegiatanUpdateInput;
|
||||
|
||||
if (!id) {
|
||||
return new Response(
|
||||
JSON.stringify({ success: false, message: "ID is required" }),
|
||||
{ status: 400, headers: { "Content-Type": "application/json" } }
|
||||
);
|
||||
}
|
||||
|
||||
const existing = await prisma.jadwalKegiatan.findUnique({ where: { id } });
|
||||
|
||||
if (!existing) {
|
||||
return new Response(
|
||||
JSON.stringify({ success: false, message: "Data not found" }),
|
||||
{ status: 404, headers: { "Content-Type": "application/json" } }
|
||||
);
|
||||
}
|
||||
|
||||
const {
|
||||
content,
|
||||
informasiJadwalKegiatan,
|
||||
deskripsiJadwalKegiatan,
|
||||
layananJadwalKegiatan,
|
||||
syaratKetentuanJadwalKegiatan,
|
||||
dokumenJadwalKegiatan,
|
||||
pendaftaranJadwalKegiatan,
|
||||
} = body;
|
||||
|
||||
await Promise.all([
|
||||
prisma.informasiJadwalKegiatan.update({
|
||||
where: { id: existing.informasiJadwalKegiatanId },
|
||||
data: informasiJadwalKegiatan
|
||||
}),
|
||||
prisma.deskripsiJadwalKegiatan.update({
|
||||
where: { id: existing.deskripsiJadwalKegiatanId },
|
||||
data: deskripsiJadwalKegiatan
|
||||
}),
|
||||
prisma.layananJadwalKegiatan.update({
|
||||
where: { id: existing.layananJadwalKegiatanId },
|
||||
data: layananJadwalKegiatan
|
||||
}),
|
||||
prisma.syaratKetentuanJadwalKegiatan.update({
|
||||
where: { id: existing.syaratKetentuanJadwalKegiatanId },
|
||||
data: syaratKetentuanJadwalKegiatan,
|
||||
}),
|
||||
prisma.dokumenJadwalKegiatan.update({
|
||||
where: { id: existing.dokumenJadwalKegiatanId },
|
||||
data: dokumenJadwalKegiatan
|
||||
}),
|
||||
prisma.pendaftaranJadwalKegiatan.update({
|
||||
where: { id: existing.pendaftaranJadwalKegiatanId },
|
||||
data: pendaftaranJadwalKegiatan,
|
||||
}),
|
||||
]);
|
||||
|
||||
const updated = await prisma.jadwalKegiatan.update({
|
||||
where: { id },
|
||||
data: {
|
||||
content,
|
||||
},
|
||||
include: {
|
||||
informasijadwalkegiatan: true,
|
||||
deskripsijadwalkegiatan: true,
|
||||
layananjadwalkegiatan: true,
|
||||
syaratketentuanjadwalkegiatan: true,
|
||||
dokumenjadwalkegiatan: true,
|
||||
pendaftaranjadwalkegiatan: true,
|
||||
},
|
||||
});
|
||||
return {
|
||||
success: true,
|
||||
message: "Success update jadwal kegiatan",
|
||||
data: updated,
|
||||
};
|
||||
};
|
||||
export default jadwalKegiatanUpdate;
|
||||
@@ -6,12 +6,6 @@ import MythVsFact from "./data_kesehatan_warga/artikel_kesehatan/myth_vs_fact";
|
||||
import Prevention from "./data_kesehatan_warga/artikel_kesehatan/prevention";
|
||||
import Syptom from "./data_kesehatan_warga/artikel_kesehatan/syptom";
|
||||
import GrafikKepuasan from "./data_kesehatan_warga/grafik_kepuasan";
|
||||
import DeskripsiJadwalKegiatan from "./data_kesehatan_warga/jadwal_kegiatan/deskripsi_kegiatan";
|
||||
import DokumenDiperlukan from "./data_kesehatan_warga/jadwal_kegiatan/dokumen_yang_diperlukan";
|
||||
import InformasiJadwalKegiatan from "./data_kesehatan_warga/jadwal_kegiatan/informasi_kegiatan";
|
||||
import LayananTersedia from "./data_kesehatan_warga/jadwal_kegiatan/layanan_yang_tersedia";
|
||||
import PendaftaranJadwal from "./data_kesehatan_warga/jadwal_kegiatan/pendaftaran";
|
||||
import SyaratKetentuan from "./data_kesehatan_warga/jadwal_kegiatan/syarat_dan_ketentuan";
|
||||
import PersentaseKelahiranKematian from "./data_kesehatan_warga/persentase_kelahiran_kematian";
|
||||
import InfoWabahPenyakit from "./info-wabah-penyakit";
|
||||
import KontakDarurat from "./kontak-darurat";
|
||||
@@ -20,18 +14,13 @@ import Posyandu from "./posyandu";
|
||||
import ProgramKesehatan from "./program-kesehatan";
|
||||
import Puskesmas from "./puskesmas";
|
||||
import FasilitasKesehatan from "./data_kesehatan_warga/fasilitas_kesehatan";
|
||||
import JadwalKegiatan from "./data_kesehatan_warga/jadwal_kegiatan";
|
||||
|
||||
|
||||
const Kesehatan = new Elysia({
|
||||
prefix: "/api/kesehatan",
|
||||
tags: ["Kesehatan"],
|
||||
})
|
||||
.use(InformasiJadwalKegiatan)
|
||||
.use(DeskripsiJadwalKegiatan)
|
||||
.use(LayananTersedia)
|
||||
.use(SyaratKetentuan)
|
||||
.use(DokumenDiperlukan)
|
||||
.use(PendaftaranJadwal)
|
||||
.use(PersentaseKelahiranKematian)
|
||||
.use(GrafikKepuasan)
|
||||
.use(Introduction)
|
||||
@@ -47,4 +36,5 @@ const Kesehatan = new Elysia({
|
||||
.use(KontakDarurat)
|
||||
.use(InfoWabahPenyakit)
|
||||
.use(FasilitasKesehatan)
|
||||
.use(JadwalKegiatan)
|
||||
export default Kesehatan;
|
||||
|
||||
Reference in New Issue
Block a user