feat(kesehatan): refactor ringkasan kesehatan to auto-derived stats
- Add IbuHamil and Balita models to schema.prisma - Implement IbuHamil and Balita API modules (CRUD) - Implement /stats endpoint for aggregated health KPIs - Refactor ringkasan-kesehatan admin page to dashboard-style UI - Update sidebar with Ibu Hamil and Balita entries - Fix type errors and icon exports in admin UI - Bump version to 0.1.52
This commit is contained in:
55
src/app/api/[[...slugs]]/_lib/kesehatan/ibu-hamil/index.ts
Normal file
55
src/app/api/[[...slugs]]/_lib/kesehatan/ibu-hamil/index.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
import Elysia, { t } from "elysia";
|
||||
import ibuHamilCreate from "./create";
|
||||
import ibuHamilDelete from "./del";
|
||||
import ibuHamilFindById from "./find-by-id";
|
||||
import ibuHamilFindMany from "./find-many";
|
||||
import ibuHamilUpdate from "./updt";
|
||||
|
||||
const IbuHamil = new Elysia({ prefix: "/ibuhamil", tags: ["Kesehatan/IbuHamil"] })
|
||||
.post("/create", ibuHamilCreate, {
|
||||
body: t.Object({
|
||||
nama: t.String(),
|
||||
nik: t.Optional(t.String()),
|
||||
usiaKehamilan: t.Number({ minimum: 0 }),
|
||||
hpht: t.Optional(t.String()),
|
||||
taksiranLahir: t.Optional(t.String()),
|
||||
alamat: t.Optional(t.String()),
|
||||
noHp: t.Optional(t.String()),
|
||||
catatan: t.Optional(t.String()),
|
||||
posyanduId: t.Optional(t.String()),
|
||||
status: t.Union([
|
||||
t.Literal("AKTIF"),
|
||||
t.Literal("MELAHIRKAN"),
|
||||
t.Literal("KEGUGURAN"),
|
||||
t.Literal("NONAKTIF"),
|
||||
]),
|
||||
}),
|
||||
})
|
||||
.get("/find-many", ibuHamilFindMany)
|
||||
.delete("/del/:id", ibuHamilDelete)
|
||||
.get("/:id", ibuHamilFindById)
|
||||
.put(
|
||||
"/:id",
|
||||
ibuHamilUpdate,
|
||||
{
|
||||
body: t.Object({
|
||||
nama: t.String(),
|
||||
nik: t.Optional(t.String()),
|
||||
usiaKehamilan: t.Number({ minimum: 0 }),
|
||||
hpht: t.Optional(t.String()),
|
||||
taksiranLahir: t.Optional(t.String()),
|
||||
alamat: t.Optional(t.String()),
|
||||
noHp: t.Optional(t.String()),
|
||||
catatan: t.Optional(t.String()),
|
||||
posyanduId: t.Optional(t.String()),
|
||||
status: t.Union([
|
||||
t.Literal("AKTIF"),
|
||||
t.Literal("MELAHIRKAN"),
|
||||
t.Literal("KEGUGURAN"),
|
||||
t.Literal("NONAKTIF"),
|
||||
]),
|
||||
}),
|
||||
}
|
||||
);
|
||||
|
||||
export default IbuHamil;
|
||||
Reference in New Issue
Block a user