UI & API Admin Kesehatan Menu Data Kesehatan Warga Sisa 2 Tabs
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FasilitasKesehatanInput = {
|
||||
name: string;
|
||||
informasiUmum: { fasilitas: string; alamat: string; jamOperasional: string };
|
||||
layananUnggulan: { content: string };
|
||||
dokterdanTenagaMedis: { name: string; specialist: string; jadwal: string };
|
||||
fasilitasPendukung: { content: string };
|
||||
prosedurPendaftaran: { content: string };
|
||||
tarifDanLayanan: { layanan: string; tarif: string };
|
||||
};
|
||||
|
||||
const fasilitasKesehatanCreate = async (context: Context) => {
|
||||
const body = await context.body as FasilitasKesehatanInput;
|
||||
|
||||
const {
|
||||
name,
|
||||
informasiUmum,
|
||||
layananUnggulan,
|
||||
dokterdanTenagaMedis,
|
||||
fasilitasPendukung,
|
||||
prosedurPendaftaran,
|
||||
tarifDanLayanan,
|
||||
} = body;
|
||||
|
||||
// Buat masing-masing relasi terlebih dahulu
|
||||
const [createdInformasiUmum, createdLayananUnggulan, createdDokter, createdPendukung, createdProsedur, createdTarif] = await Promise.all([
|
||||
prisma.informasiUmum.create({ data: informasiUmum }),
|
||||
prisma.layananUnggulan.create({ data: layananUnggulan }),
|
||||
prisma.dokterdanTenagaMedis.create({ data: dokterdanTenagaMedis }),
|
||||
prisma.fasilitasPendukung.create({ data: fasilitasPendukung }),
|
||||
prisma.prosedurPendaftaran.create({ data: prosedurPendaftaran }),
|
||||
prisma.tarifDanLayanan.create({ data: tarifDanLayanan }),
|
||||
]);
|
||||
|
||||
const fasilitas = await prisma.fasilitasKesehatan.create({
|
||||
data: {
|
||||
name,
|
||||
informasiUmumId: createdInformasiUmum.id,
|
||||
layananUnggulanId: createdLayananUnggulan.id,
|
||||
dokterdanTenagaMedisId: createdDokter.id,
|
||||
fasilitasPendukungId: createdPendukung.id,
|
||||
prosedurPendaftaranId: createdProsedur.id,
|
||||
tarifDanLayananId: createdTarif.id,
|
||||
},
|
||||
include: {
|
||||
informasiumum: true,
|
||||
layananunggulan: true,
|
||||
dokterdantenagamedis: true,
|
||||
fasilitaspendukung: true,
|
||||
prosedurpendaftaran: true,
|
||||
tarifdanlayanan: true,
|
||||
},
|
||||
});
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Fasilitas berhasil dibuat",
|
||||
data: fasilitas,
|
||||
};
|
||||
};
|
||||
|
||||
export default fasilitasKesehatanCreate;
|
||||
@@ -0,0 +1,43 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
const fasilitasKesehatanDelete = async (context: Context) => {
|
||||
const id = context.params?.id as string;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
status: 400,
|
||||
message: "ID tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const fasilitasKesehatan = await prisma.fasilitasKesehatan.findUnique({
|
||||
where: { id },
|
||||
include: {
|
||||
informasiumum: true,
|
||||
layananunggulan: true,
|
||||
dokterdantenagamedis: true,
|
||||
fasilitaspendukung: true,
|
||||
prosedurpendaftaran: true,
|
||||
tarifdanlayanan: true,
|
||||
}
|
||||
})
|
||||
|
||||
if (!fasilitasKesehatan) {
|
||||
return {
|
||||
status: 404,
|
||||
message: "Fasilitas kesehatan tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
await prisma.fasilitasKesehatan.delete({
|
||||
where: { id },
|
||||
})
|
||||
|
||||
return {
|
||||
status: 200,
|
||||
success: true,
|
||||
message: "Fasilitas kesehatan berhasil dihapus",
|
||||
}
|
||||
}
|
||||
export default fasilitasKesehatanDelete
|
||||
@@ -1,35 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.DokterdanTenagaMedisGetPayload<{
|
||||
select: {
|
||||
name: true
|
||||
specialist: true
|
||||
jadwal: true
|
||||
}
|
||||
}>
|
||||
|
||||
async function dokterDantenagamedisCreate(context: Context) {
|
||||
const body = context.body as FormCreate
|
||||
|
||||
const created = await prisma.dokterdanTenagaMedis.create({
|
||||
data: {
|
||||
name: body.name,
|
||||
specialist: body.specialist,
|
||||
jadwal: body.jadwal,
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
name: true,
|
||||
specialist: true,
|
||||
jadwal: true,
|
||||
}
|
||||
})
|
||||
return {
|
||||
success: true,
|
||||
message: "Success create dokter dan tenaga medis",
|
||||
data: created
|
||||
}
|
||||
}
|
||||
export default dokterDantenagamedisCreate
|
||||
@@ -1,36 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function dokterDantenagamedisDelete(context: Context) {
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Id tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const existing = await prisma.dokterdanTenagaMedis.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const deleted = await prisma.dokterdanTenagaMedis.delete({
|
||||
where: { id },
|
||||
})
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil dihapus",
|
||||
data: deleted,
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function dokterDantenagamedisFindMany() {
|
||||
const res = await prisma.dokterdanTenagaMedis.findMany();
|
||||
return {
|
||||
data: res
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function dokterDantenagamedisFindUnique(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 is required",
|
||||
},
|
||||
{ status: 400 }
|
||||
);
|
||||
}
|
||||
|
||||
try {
|
||||
if (typeof id !== 'string') {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "ID tidak valid",
|
||||
}, { status: 400 });
|
||||
}
|
||||
|
||||
const data = await prisma.dokterdanTenagaMedis.findUnique({
|
||||
where: { id },
|
||||
});
|
||||
|
||||
if (!data) {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}, { status: 404 });
|
||||
}
|
||||
|
||||
return Response.json({
|
||||
success: true,
|
||||
message: "Berhasil mengambil data berdasarkan ID",
|
||||
data,
|
||||
}, { status: 200 });
|
||||
|
||||
} catch (error) {
|
||||
console.error("Error fetching data:", error);
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "Terjadi kesalahan saat mengambil data",
|
||||
}, { status: 500 });
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import dokterDantenagamedisFindMany from "./find-many";
|
||||
import dokterDantenagamedisCreate from "./create";
|
||||
import dokterDantenagamedisFindUnique from "./findUnique";
|
||||
import dokterDantenagamedisUpdate from "./updt";
|
||||
import dokterDantenagamedisDelete from "./del";
|
||||
|
||||
const DokterDantenagamedis = new Elysia({
|
||||
prefix: "/dokterdantenagamedis",
|
||||
tags: ["Data Kesehatan/Fasilitas Kesehatan/Dokter dan Tenaga Medis"],
|
||||
})
|
||||
.get("/find-many", dokterDantenagamedisFindMany)
|
||||
.post("/create", dokterDantenagamedisCreate, {
|
||||
body: t.Object({
|
||||
name: t.String(),
|
||||
specialist: t.String(),
|
||||
jadwal: t.String(),
|
||||
})
|
||||
})
|
||||
.get("/:id", async (context) => {
|
||||
const response = await dokterDantenagamedisFindUnique(new Request(context.request))
|
||||
return response
|
||||
})
|
||||
.put(":/id", dokterDantenagamedisUpdate, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
}),
|
||||
body: t.Object({
|
||||
name: t.String(),
|
||||
specialist: t.String(),
|
||||
jadwal: t.String(),
|
||||
})
|
||||
})
|
||||
.delete("/del/:id", dokterDantenagamedisDelete, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
}),
|
||||
})
|
||||
|
||||
export default DokterDantenagamedis
|
||||
@@ -1,47 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function dokterDantenagamedisUpdate(context: Context) {
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "ID tidak ditemukan",
|
||||
};
|
||||
}
|
||||
|
||||
const { nama, spesialis, jadwal } = context.body as {
|
||||
nama: string;
|
||||
spesialis: string;
|
||||
jadwal: string;
|
||||
};
|
||||
|
||||
const existing = await prisma.dokterdanTenagaMedis.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
});
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
};
|
||||
}
|
||||
|
||||
const updated = await prisma.dokterdanTenagaMedis.update({
|
||||
where: { id },
|
||||
data: {
|
||||
name: nama,
|
||||
specialist: spesialis,
|
||||
jadwal,
|
||||
},
|
||||
});
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil diupdate",
|
||||
data: updated,
|
||||
};
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.FasilitasPendukungGetPayload<{
|
||||
select: {
|
||||
content: true
|
||||
}
|
||||
}>
|
||||
|
||||
async function FasilitasPendukungCreate(context: Context){
|
||||
const body = context.body as FormCreate
|
||||
|
||||
const created = await prisma.fasilitasPendukung.create({
|
||||
data: {
|
||||
content: body.content
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
content: true,
|
||||
}
|
||||
})
|
||||
return {
|
||||
success: true,
|
||||
message: "Success create fasilitas pendukung",
|
||||
data: created
|
||||
}
|
||||
}
|
||||
|
||||
export default FasilitasPendukungCreate
|
||||
@@ -1,36 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function fasilitasPendukungDelete(context: Context) {
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Id tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const existing = await prisma.fasilitasPendukung.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const deleted = await prisma.fasilitasPendukung.delete({
|
||||
where: { id },
|
||||
})
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil dihapus",
|
||||
data: deleted,
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function fasilitasPendukungFindMany() {
|
||||
const res = await prisma.fasilitasPendukung.findMany();
|
||||
return {
|
||||
data: res
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import FasilitasPendukungCreate from "./create";
|
||||
import fasilitasPendukungFindMany from "./find-many";
|
||||
import fasilitasPendukungFindUnique from "./findUnique";
|
||||
import fasilitasPendukungUpdate from "./updt";
|
||||
|
||||
const FasilitasPendukung = new Elysia({
|
||||
prefix: "/fasilitaspendukung",
|
||||
tags: ["Data Kesehatan/Fasilitas Kesehatan/Fasilitas Pendukung"],
|
||||
})
|
||||
.get("/:id", async (context) => {
|
||||
const response = await fasilitasPendukungFindUnique(new Request(context.request))
|
||||
return response
|
||||
})
|
||||
.get("/find-many", fasilitasPendukungFindMany)
|
||||
.post("/create", FasilitasPendukungCreate, {
|
||||
body: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
})
|
||||
.put(":/id", fasilitasPendukungUpdate, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
}),
|
||||
body: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
})
|
||||
.delete("/del/:id", FasilitasPendukungCreate, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
}),
|
||||
})
|
||||
|
||||
export default FasilitasPendukung;
|
||||
@@ -1,43 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function fasilitasPendukungUpdate(context: Context) {
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Id tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const {content} = context.body as {
|
||||
content: string;
|
||||
}
|
||||
|
||||
const existing = await prisma.fasilitasPendukung.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const updated = await prisma.fasilitasPendukung.update({
|
||||
where: { id },
|
||||
data: {
|
||||
content: content,
|
||||
},
|
||||
})
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil diupdate",
|
||||
data: updated,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function findManyFasilitasKesehatan() {
|
||||
try {
|
||||
const data = await prisma.fasilitasKesehatan.findMany({
|
||||
where: {
|
||||
isActive: true,
|
||||
},
|
||||
include: {
|
||||
informasiumum: true,
|
||||
layananunggulan: true,
|
||||
dokterdantenagamedis: true,
|
||||
fasilitaspendukung: true,
|
||||
prosedurpendaftaran: true,
|
||||
tarifdanlayanan: true,
|
||||
}
|
||||
})
|
||||
return {
|
||||
success: true,
|
||||
message: "Success fetch fasilitas kesehatan",
|
||||
data,
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Find many error:", error);
|
||||
return {
|
||||
success: false,
|
||||
message: "Failed fetch fasilitas kesehatan",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function fasilitasPendukungFindUnique(request: Request) {
|
||||
export default async function findUniqueFasilitasKesehatan(request: Request) {
|
||||
const url = new URL(request.url);
|
||||
const pathSegments = url.pathname.split('/');
|
||||
const id = pathSegments[pathSegments.length - 1];
|
||||
@@ -8,7 +8,7 @@ export default async function fasilitasPendukungFindUnique(request: Request) {
|
||||
if (!id) {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "ID is required",
|
||||
message: "ID tidak boleh kosong",
|
||||
}, { status: 400 })
|
||||
}
|
||||
|
||||
@@ -16,12 +16,20 @@ export default async function fasilitasPendukungFindUnique(request: Request) {
|
||||
if (typeof id !== 'string') {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "ID must be a string",
|
||||
message: "ID tidak valid",
|
||||
}, { status: 400 })
|
||||
}
|
||||
|
||||
const data = await prisma.fasilitasPendukung.findUnique({
|
||||
where: { id },
|
||||
const data = await prisma.fasilitasKesehatan.findUnique({
|
||||
where: {id},
|
||||
include: {
|
||||
informasiumum: true,
|
||||
layananunggulan: true,
|
||||
dokterdantenagamedis: true,
|
||||
fasilitaspendukung: true,
|
||||
prosedurpendaftaran: true,
|
||||
tarifdanlayanan: true,
|
||||
}
|
||||
})
|
||||
|
||||
if (!data) {
|
||||
@@ -33,14 +41,13 @@ export default async function fasilitasPendukungFindUnique(request: Request) {
|
||||
|
||||
return Response.json({
|
||||
success: true,
|
||||
message: "Berhasil mengambil data berdasarkan ID",
|
||||
data,
|
||||
}, { status: 200 })
|
||||
} catch (error) {
|
||||
console.error("Error fetching data:", error);
|
||||
console.error("Gagal mengambil data fasilitas kesehatan:", error);
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "Terjadi kesalahan saat mengambil data",
|
||||
message: "Gagal mengambil data fasilitas kesehatan",
|
||||
}, { status: 500 })
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
import { Elysia, t } from "elysia";
|
||||
import fasilitasKesehatanCreate from "./create";
|
||||
import findManyFasilitasKesehatan from "./findMany";
|
||||
import findUniqueFasilitasKesehatan from "./findUnique";
|
||||
import fasilitasKesehatanUpdate from "./updt";
|
||||
import fasilitasKesehatanDelete from "./del";
|
||||
|
||||
const FasilitasKesehatan = new Elysia({
|
||||
prefix: "fasilitas-kesehatan",
|
||||
tags: ["Kesehatan/Fasilitas Kesehatan"],
|
||||
})
|
||||
.post("/create", fasilitasKesehatanCreate, {
|
||||
body: t.Object({
|
||||
name: t.String(),
|
||||
informasiUmum: t.Object({
|
||||
fasilitas: t.String(),
|
||||
alamat: t.String(),
|
||||
jamOperasional: t.String(),
|
||||
}),
|
||||
layananUnggulan: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
dokterdanTenagaMedis: t.Object({
|
||||
name: t.String(),
|
||||
specialist: t.String(),
|
||||
jadwal: t.String(),
|
||||
}),
|
||||
fasilitasPendukung: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
prosedurPendaftaran: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
tarifDanLayanan: t.Object({
|
||||
layanan: t.String(),
|
||||
tarif: t.String(),
|
||||
}),
|
||||
}),
|
||||
})
|
||||
.get("/find-many", findManyFasilitasKesehatan)
|
||||
.delete("/del/:id", fasilitasKesehatanDelete)
|
||||
.get("/:id", async (context) => {
|
||||
const response = await findUniqueFasilitasKesehatan(
|
||||
new Request(context.request)
|
||||
);
|
||||
return response;
|
||||
})
|
||||
.put(
|
||||
"/:id",
|
||||
async (context) => {
|
||||
const response = await fasilitasKesehatanUpdate(context);
|
||||
return response;
|
||||
},
|
||||
{
|
||||
body: t.Object({
|
||||
name: t.String(),
|
||||
informasiUmum: t.Object({
|
||||
fasilitas: t.String(),
|
||||
alamat: t.String(),
|
||||
jamOperasional: t.String(),
|
||||
}),
|
||||
layananUnggulan: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
dokterdanTenagaMedis: t.Object({
|
||||
name: t.String(),
|
||||
specialist: t.String(),
|
||||
jadwal: t.String(),
|
||||
}),
|
||||
fasilitasPendukung: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
prosedurPendaftaran: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
tarifDanLayanan: t.Object({
|
||||
layanan: t.String(),
|
||||
tarif: t.String(),
|
||||
}),
|
||||
}),
|
||||
}
|
||||
);
|
||||
|
||||
export default FasilitasKesehatan;
|
||||
@@ -1,35 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.InformasiUmumGetPayload<{
|
||||
select: {
|
||||
fasilitas: true
|
||||
alamat: true
|
||||
jamOperasional: true
|
||||
}
|
||||
}>
|
||||
async function informasiUmumCreate(context: Context) {
|
||||
const body = context.body as FormCreate
|
||||
|
||||
const created = await prisma.informasiUmum.create({
|
||||
data: {
|
||||
fasilitas: body.fasilitas,
|
||||
alamat: body.alamat,
|
||||
jamOperasional: body.jamOperasional,
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
fasilitas: true,
|
||||
alamat: true,
|
||||
jamOperasional: true,
|
||||
}
|
||||
})
|
||||
return{
|
||||
success: true,
|
||||
message: "Success create informasi umum",
|
||||
data: created
|
||||
}
|
||||
}
|
||||
|
||||
export default informasiUmumCreate
|
||||
@@ -1,36 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function informasiumumDelete(context: Context){
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Id tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const existing = await prisma.informasiUmum.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const deleted = await prisma.informasiUmum.delete({
|
||||
where: { id },
|
||||
})
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil dihapus",
|
||||
data: deleted,
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function informasiUmumFindMany() {
|
||||
const res = await prisma.informasiUmum.findMany();
|
||||
return {
|
||||
data: res
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function informasiUmumFindUnique(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 is required",
|
||||
}, { status: 400 })
|
||||
}
|
||||
|
||||
try {
|
||||
if (typeof id !== 'string') {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "ID tidak valid",
|
||||
}, { status: 400 });
|
||||
}
|
||||
|
||||
const data = await prisma.informasiUmum.findUnique({
|
||||
where: { id },
|
||||
});
|
||||
|
||||
if (!data) {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}, { status: 404 });
|
||||
}
|
||||
|
||||
return Response.json({
|
||||
success: true,
|
||||
message: "Berhasil mengambil data berdasarkan ID",
|
||||
data,
|
||||
}, { status: 200 });
|
||||
} catch (error) {
|
||||
console.error("Error fetching data:", error);
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "Terjadi kesalahan saat mengambil data",
|
||||
}, { status: 500 });
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import informasiUmumFindMany from "./find-many";
|
||||
import informasiUmumCreate from "./create";
|
||||
import informasiUmumFindUnique from "./findUnique";
|
||||
import informasiumumUpdate from "./updt";
|
||||
import informasiumumDelete from "./del";
|
||||
|
||||
const InformasiUmum = new Elysia({
|
||||
prefix: "/informasiumum",
|
||||
tags: ["Data Kesehatan/Fasilitas Kesehatan/Informasi Umum"],
|
||||
})
|
||||
.get("/:id", async (context) => {
|
||||
const response = await informasiUmumFindUnique(new Request(context.request))
|
||||
return response
|
||||
})
|
||||
.get("/find-many", informasiUmumFindMany)
|
||||
.post("/create", informasiUmumCreate, {
|
||||
body: t.Object({
|
||||
fasilitas: t.String(),
|
||||
alamat: t.String(),
|
||||
jamOperasional: t.String(),
|
||||
}),
|
||||
})
|
||||
.put(":/id", informasiumumUpdate, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
}),
|
||||
body: t.Object({
|
||||
fasilitas: t.String(),
|
||||
alamat: t.String(),
|
||||
jamOperasional: t.String(),
|
||||
}),
|
||||
})
|
||||
.delete("/del/:id", informasiumumDelete, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
}),
|
||||
})
|
||||
|
||||
export default InformasiUmum;
|
||||
@@ -1,47 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function informasiumumUpdate(context: Context) {
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Id tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const {fasilitas, alamat, jamOperasional} = context.body as {
|
||||
fasilitas: string;
|
||||
alamat: string;
|
||||
jamOperasional: string;
|
||||
}
|
||||
|
||||
const existing = await prisma.informasiUmum.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const updated = await prisma.informasiUmum.update({
|
||||
where: { id },
|
||||
data: {
|
||||
fasilitas: fasilitas,
|
||||
alamat: alamat,
|
||||
jamOperasional: jamOperasional,
|
||||
},
|
||||
})
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil diupdate",
|
||||
data: updated,
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.LayananUnggulanGetPayload<{
|
||||
select: {
|
||||
content: true
|
||||
}
|
||||
}>
|
||||
|
||||
async function layananUnggulanCreate(context: Context) {
|
||||
const body = context.body as FormCreate
|
||||
|
||||
const created = await prisma.layananUnggulan.create({
|
||||
data: {
|
||||
content: body.content
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
content: true,
|
||||
}
|
||||
})
|
||||
return {
|
||||
success: true,
|
||||
message: "Success create layanan unggulan",
|
||||
data: created
|
||||
}
|
||||
}
|
||||
|
||||
export default layananUnggulanCreate
|
||||
@@ -1,36 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function layananUnggulanDelete(context: Context) {
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Id tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const existing = await prisma.layananUnggulan.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const deleted = await prisma.layananUnggulan.delete({
|
||||
where: { id },
|
||||
})
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil dihapus",
|
||||
data: deleted,
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function layananUnggulanFindMany() {
|
||||
const res = await prisma.layananUnggulan.findMany();
|
||||
return {
|
||||
data: res
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function layananUnggulanFindUnique(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 is required",
|
||||
}, { status: 400 })
|
||||
}
|
||||
|
||||
try {
|
||||
if (typeof id !== 'string') {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "ID must be a string",
|
||||
}, { status: 400 })
|
||||
}
|
||||
|
||||
const data = await prisma.layananUnggulan.findUnique({
|
||||
where: { id },
|
||||
})
|
||||
|
||||
if (!data) {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}, { status: 404 })
|
||||
}
|
||||
|
||||
return Response.json({
|
||||
success: true,
|
||||
message: "Berhasil mengambil data berdasarkan ID",
|
||||
data,
|
||||
}, { status: 200 })
|
||||
} catch (error) {
|
||||
console.error("Error fetching data:", error);
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "Terjadi kesalahan saat mengambil data",
|
||||
}, { status: 500 })
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import layananUnggulanCreate from "./create";
|
||||
import layananUnggulanFindMany from "./find-many";
|
||||
import layananUnggulanFindUnique from "./findUnique";
|
||||
import layananUnggulanUpdate from "./updt";
|
||||
import layananUnggulanDelete from "./del";
|
||||
|
||||
const LayananUnggulan = new Elysia({
|
||||
prefix: "/layananunggulan",
|
||||
tags: ["Data Kesehatan/Fasilitas Kesehatan/Layanan Unggulan"]
|
||||
})
|
||||
|
||||
.get("/:id", async (context) => {
|
||||
const response = await layananUnggulanFindUnique(new Request(context.request))
|
||||
return response
|
||||
})
|
||||
.get("/find-many", layananUnggulanFindMany)
|
||||
.post("/create", layananUnggulanCreate, {
|
||||
body: t.Object({
|
||||
content: t.String()
|
||||
})
|
||||
})
|
||||
.put("/:id", layananUnggulanUpdate, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
}),
|
||||
body: t.Object({
|
||||
content: t.String(),
|
||||
})
|
||||
})
|
||||
.delete("/del/:id", layananUnggulanDelete, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
})
|
||||
})
|
||||
|
||||
export default LayananUnggulan
|
||||
@@ -1,43 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function layananUnggulanUpdate(context: Context) {
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Id tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const {content} = context.body as {
|
||||
content: string;
|
||||
}
|
||||
|
||||
const existing = await prisma.layananUnggulan.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const updated = await prisma.layananUnggulan.update({
|
||||
where: { id },
|
||||
data: {
|
||||
content: content,
|
||||
},
|
||||
})
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil diupdate",
|
||||
data: updated,
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.ProsedurPendaftaranGetPayload<{
|
||||
select: {
|
||||
content: true
|
||||
}
|
||||
}>
|
||||
|
||||
async function prosedurPendaftaranCreate(context: Context) {
|
||||
const body = context.body as FormCreate
|
||||
|
||||
const created = await prisma.prosedurPendaftaran.create({
|
||||
data: {
|
||||
content: body.content
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
content: true,
|
||||
}
|
||||
})
|
||||
return{
|
||||
success: true,
|
||||
message: "Success create prosedur pendaftaran",
|
||||
data: created
|
||||
}
|
||||
}
|
||||
|
||||
export default prosedurPendaftaranCreate
|
||||
@@ -1,36 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function prosedurPendaftaranDelete(context: Context) {
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Id tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const existing = await prisma.prosedurPendaftaran.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const deleted = await prisma.prosedurPendaftaran.delete({
|
||||
where: { id },
|
||||
})
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil dihapus",
|
||||
data: deleted,
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function prosedurPendaftaranFindMany() {
|
||||
const res = await prisma.prosedurPendaftaran.findMany();
|
||||
return {
|
||||
data: res
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function prosedurPendaftaranFindUnique(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.prosedurPendaftaran.findUnique({
|
||||
where: { id },
|
||||
});
|
||||
|
||||
if (!data) {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}, { status: 404 });
|
||||
}
|
||||
|
||||
return Response.json({
|
||||
success: true,
|
||||
data: data,
|
||||
}, { status: 200 });
|
||||
} catch (error) {
|
||||
console.error("Error fetching data:", error);
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: "Terjadi kesalahan saat mengambil data",
|
||||
}, { status: 500 });
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import prosedurPendaftaranFindMany from "./find-many";
|
||||
import prosedurPendaftaranCreate from "./create";
|
||||
import prosedurPendaftaranFindUnique from "./findUnique";
|
||||
import persentaseKelahiranKematianUpdate from "../../persentase_kelahiran_kematian/updt";
|
||||
import prosedurPendaftaranDelete from "./del";
|
||||
|
||||
const ProsedurPendaftaran = new Elysia({
|
||||
prefix: "/prosedurpendaftaran",
|
||||
tags: ["Data Kesehatan/Fasilitas Kesehatan/Prosedur Pendaftaran"],
|
||||
})
|
||||
.get("/:id", async (context) => {
|
||||
const response = await prosedurPendaftaranFindUnique(new Request(context.request))
|
||||
return response
|
||||
})
|
||||
.get("/find-many", prosedurPendaftaranFindMany)
|
||||
.post("/create", prosedurPendaftaranCreate, {
|
||||
body: t.Object({
|
||||
content: t.String(),
|
||||
}),
|
||||
})
|
||||
.put("/:id", persentaseKelahiranKematianUpdate, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
}),
|
||||
body: t.Object({
|
||||
content: t.String(),
|
||||
})
|
||||
})
|
||||
.delete("del/:id", prosedurPendaftaranDelete, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
})
|
||||
})
|
||||
export default ProsedurPendaftaran;
|
||||
@@ -1,43 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function prosedurPendaftaranUpdate(context: Context) {
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Id tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const {content} = context.body as {
|
||||
content: string;
|
||||
}
|
||||
|
||||
const existing = await prisma.prosedurPendaftaran.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const updated = await prisma.prosedurPendaftaran.update({
|
||||
where: { id },
|
||||
data: {
|
||||
content: content,
|
||||
},
|
||||
})
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil diupdate",
|
||||
data: updated,
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FormCreate = Prisma.TarifDanLayananGetPayload<{
|
||||
select: {
|
||||
layanan: true
|
||||
tarif: true
|
||||
}
|
||||
}>
|
||||
|
||||
async function tarifdanlayananCreate(context: Context) {
|
||||
const body = context.body as FormCreate
|
||||
|
||||
const created = await prisma.tarifDanLayanan.create({
|
||||
data: {
|
||||
layanan: body.layanan,
|
||||
tarif: body.tarif,
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
layanan: true,
|
||||
tarif: true
|
||||
}
|
||||
})
|
||||
return {
|
||||
success: true,
|
||||
message: "Success create tarif dan layanan",
|
||||
data: created
|
||||
}
|
||||
}
|
||||
|
||||
export default tarifdanlayananCreate
|
||||
@@ -1,36 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function tarifDanLayananDelete(context: Context) {
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Id tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const existing = await prisma.tarifDanLayanan.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const deleted = await prisma.tarifDanLayanan.delete({
|
||||
where: { id },
|
||||
})
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil dihapus",
|
||||
data: deleted,
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function tarifdanlayananFindMany() {
|
||||
const res = await prisma.tarifDanLayanan.findMany();
|
||||
return {
|
||||
data: res
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
|
||||
export default async function tarifDanLayananFindUnique(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 ditemukan',
|
||||
}, { status: 400 })
|
||||
}
|
||||
|
||||
try {
|
||||
if (typeof id !== 'string') {
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: 'ID tidak valid',
|
||||
}, { status: 400 })
|
||||
}
|
||||
|
||||
const data = await prisma.tarifDanLayanan.findUnique({
|
||||
where: { id },
|
||||
})
|
||||
|
||||
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('Error fetching data:', error)
|
||||
return Response.json({
|
||||
success: false,
|
||||
message: 'Terjadi kesalahan saat mengambil data',
|
||||
}, { status: 500 })
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import tarifdanlayananFindMany from "./find-many";
|
||||
import tarifdanlayananCreate from "./create";
|
||||
import tarifDanLayananFindUnique from "./findUnique";
|
||||
import tarifDanLayananUpdate from "./updt";
|
||||
import tarifDanLayananDelete from "./del";
|
||||
|
||||
|
||||
const TarifDanLayanan = new Elysia({
|
||||
prefix: "/tarifdanlayanan",
|
||||
tags: ["Data Kesehatan/Fasilitas Kesehatan/Tarif dan Layanan"]
|
||||
})
|
||||
.get("/:id", async (context) => {
|
||||
const response = await tarifDanLayananFindUnique(new Request(context.request))
|
||||
return response
|
||||
})
|
||||
.get("/find-many", tarifdanlayananFindMany)
|
||||
.post("/create", tarifdanlayananCreate, {
|
||||
body: t.Object({
|
||||
layanan: t.String(),
|
||||
tarif: t.String(),
|
||||
})
|
||||
})
|
||||
.put("/:id", tarifDanLayananUpdate, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
}),
|
||||
body: t.Object({
|
||||
layanan: t.String(),
|
||||
tarif: t.String(),
|
||||
})
|
||||
})
|
||||
.delete("/del/:id", tarifDanLayananDelete, {
|
||||
params: t.Object({
|
||||
id: t.String(),
|
||||
})
|
||||
})
|
||||
export default TarifDanLayanan;
|
||||
@@ -1,45 +0,0 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
export default async function tarifDanLayananUpdate(context: Context) {
|
||||
const id = context.params?.id;
|
||||
|
||||
if (!id) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Id tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const { layanan, tarif } = context.body as {
|
||||
layanan: string;
|
||||
tarif: string;
|
||||
}
|
||||
|
||||
const existing = await prisma.tarifDanLayanan.findUnique({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Data tidak ditemukan",
|
||||
}
|
||||
}
|
||||
|
||||
const updated = await prisma.tarifDanLayanan.update({
|
||||
where: { id },
|
||||
data: {
|
||||
layanan: layanan,
|
||||
tarif: tarif,
|
||||
},
|
||||
})
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Data berhasil diupdate",
|
||||
data: updated,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import { Context } from "elysia";
|
||||
|
||||
type FasilitasKesehatanInput = {
|
||||
name: string;
|
||||
informasiUmum: { fasilitas: string; alamat: string; jamOperasional: string };
|
||||
layananUnggulan: { content: string };
|
||||
dokterdanTenagaMedis: { name: string; specialist: string; jadwal: string };
|
||||
fasilitasPendukung: { content: string };
|
||||
prosedurPendaftaran: { content: string };
|
||||
tarifDanLayanan: { layanan: string; tarif: string };
|
||||
};
|
||||
|
||||
const fasilitasKesehatanUpdate = async (context: Context) => {
|
||||
const id = context.params?.id as string;
|
||||
const body = await context.body as FasilitasKesehatanInput;
|
||||
|
||||
if (!id) {
|
||||
return new Response(
|
||||
JSON.stringify({ success: false, message: "ID is required" }),
|
||||
{ status: 400, headers: { "Content-Type": "application/json" } }
|
||||
);
|
||||
}
|
||||
|
||||
const existing = await prisma.fasilitasKesehatan.findUnique({
|
||||
where: { id },
|
||||
});
|
||||
|
||||
if (!existing) {
|
||||
return new Response(
|
||||
JSON.stringify({ success: false, message: "Data not found" }),
|
||||
{ status: 404, headers: { "Content-Type": "application/json" } }
|
||||
);
|
||||
}
|
||||
|
||||
const {
|
||||
name,
|
||||
informasiUmum,
|
||||
layananUnggulan,
|
||||
dokterdanTenagaMedis,
|
||||
fasilitasPendukung,
|
||||
prosedurPendaftaran,
|
||||
tarifDanLayanan,
|
||||
} = body;
|
||||
|
||||
// Update data masing-masing relasi
|
||||
await Promise.all([
|
||||
prisma.informasiUmum.update({
|
||||
where: { id: existing.informasiUmumId },
|
||||
data: informasiUmum,
|
||||
}),
|
||||
prisma.layananUnggulan.update({
|
||||
where: { id: existing.layananUnggulanId },
|
||||
data: layananUnggulan,
|
||||
}),
|
||||
prisma.dokterdanTenagaMedis.update({
|
||||
where: { id: existing.dokterdanTenagaMedisId },
|
||||
data: dokterdanTenagaMedis,
|
||||
}),
|
||||
prisma.fasilitasPendukung.update({
|
||||
where: { id: existing.fasilitasPendukungId },
|
||||
data: fasilitasPendukung,
|
||||
}),
|
||||
prisma.prosedurPendaftaran.update({
|
||||
where: { id: existing.prosedurPendaftaranId },
|
||||
data: prosedurPendaftaran,
|
||||
}),
|
||||
prisma.tarifDanLayanan.update({
|
||||
where: { id: existing.tarifDanLayananId },
|
||||
data: tarifDanLayanan,
|
||||
}),
|
||||
]);
|
||||
|
||||
// Update main record
|
||||
const updated = await prisma.fasilitasKesehatan.update({
|
||||
where: { id },
|
||||
data: { name },
|
||||
include: {
|
||||
informasiumum: true,
|
||||
layananunggulan: true,
|
||||
dokterdantenagamedis: true,
|
||||
fasilitaspendukung: true,
|
||||
prosedurpendaftaran: true,
|
||||
tarifdanlayanan: true,
|
||||
},
|
||||
});
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: "Fasilitas berhasil diupdate",
|
||||
data: updated,
|
||||
};
|
||||
};
|
||||
|
||||
export default fasilitasKesehatanUpdate;
|
||||
@@ -1,42 +1,31 @@
|
||||
import Elysia from "elysia";
|
||||
import InformasiUmum from "./data_kesehatan_warga/fasilitas_kesehatan/informasi_umum";
|
||||
import LayananUnggulan from "./data_kesehatan_warga/fasilitas_kesehatan/layanan_unggulan";
|
||||
import DokterDantenagamedis from "./data_kesehatan_warga/fasilitas_kesehatan/dokterDantenagamedis";
|
||||
import FasilitasPendukung from "./data_kesehatan_warga/fasilitas_kesehatan/fasilitas_pendukung";
|
||||
import TarifDanLayanan from "./data_kesehatan_warga/fasilitas_kesehatan/tarifDanlayanan";
|
||||
import ProsedurPendaftaran from "./data_kesehatan_warga/fasilitas_kesehatan/prosedur_pendaftaran";
|
||||
import InformasiJadwalKegiatan from "./data_kesehatan_warga/jadwal_kegiatan/informasi_kegiatan";
|
||||
import DeskripsiJadwalKegiatan from "./data_kesehatan_warga/jadwal_kegiatan/deskripsi_kegiatan";
|
||||
import LayananTersedia from "./data_kesehatan_warga/jadwal_kegiatan/layanan_yang_tersedia";
|
||||
import SyaratKetentuan from "./data_kesehatan_warga/jadwal_kegiatan/syarat_dan_ketentuan";
|
||||
import DokumenDiperlukan from "./data_kesehatan_warga/jadwal_kegiatan/dokumen_yang_diperlukan";
|
||||
import PendaftaranJadwal from "./data_kesehatan_warga/jadwal_kegiatan/pendaftaran";
|
||||
import PersentaseKelahiranKematian from "./data_kesehatan_warga/persentase_kelahiran_kematian";
|
||||
import GrafikKepuasan from "./data_kesehatan_warga/grafik_kepuasan";
|
||||
import Introduction from "./data_kesehatan_warga/artikel_kesehatan/introduction";
|
||||
import Syptom from "./data_kesehatan_warga/artikel_kesehatan/syptom";
|
||||
import Prevention from "./data_kesehatan_warga/artikel_kesehatan/prevention";
|
||||
import FirstAid from "./data_kesehatan_warga/artikel_kesehatan/first_aid";
|
||||
import MythVsFact from "./data_kesehatan_warga/artikel_kesehatan/myth_vs_fact";
|
||||
import DoctorSign from "./data_kesehatan_warga/artikel_kesehatan/doctor_sign";
|
||||
import Posyandu from "./posyandu";
|
||||
import Puskesmas from "./puskesmas";
|
||||
import ProgramKesehatan from "./program-kesehatan";
|
||||
import PenangananDarurat from "./penanganan-darurat";
|
||||
import KontakDarurat from "./kontak-darurat";
|
||||
import FirstAid from "./data_kesehatan_warga/artikel_kesehatan/first_aid";
|
||||
import Introduction from "./data_kesehatan_warga/artikel_kesehatan/introduction";
|
||||
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";
|
||||
import PenangananDarurat from "./penanganan-darurat";
|
||||
import Posyandu from "./posyandu";
|
||||
import ProgramKesehatan from "./program-kesehatan";
|
||||
import Puskesmas from "./puskesmas";
|
||||
import FasilitasKesehatan from "./data_kesehatan_warga/fasilitas_kesehatan";
|
||||
|
||||
|
||||
const Kesehatan = new Elysia({
|
||||
prefix: "/api/kesehatan",
|
||||
tags: ["Kesehatan"],
|
||||
})
|
||||
.use(InformasiUmum)
|
||||
.use(LayananUnggulan)
|
||||
.use(DokterDantenagamedis)
|
||||
.use(FasilitasPendukung)
|
||||
.use(TarifDanLayanan)
|
||||
.use(ProsedurPendaftaran)
|
||||
.use(InformasiJadwalKegiatan)
|
||||
.use(DeskripsiJadwalKegiatan)
|
||||
.use(LayananTersedia)
|
||||
@@ -57,4 +46,5 @@ const Kesehatan = new Elysia({
|
||||
.use(PenangananDarurat)
|
||||
.use(KontakDarurat)
|
||||
.use(InfoWabahPenyakit)
|
||||
.use(FasilitasKesehatan)
|
||||
export default Kesehatan;
|
||||
|
||||
Reference in New Issue
Block a user