Tandai Step A & B selesai, catat decision log dan pending manual (bunx prisma migrate deploy + trigger GH workflow). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
Task: Tambah Statistik Persentase ke RingkasanKesehatanDesa
Tujuan
Lengkapi schema + API RingkasanKesehatanDesa dengan 4 field persentase
agar dashboard Statistik Kesehatan (Imunisasi, Pemeriksaan Rutin, Gizi Baik,
Target Stunting) punya backend yang bisa di-fetch.
Field Baru
Tambah ke model RingkasanKesehatanDesa (additive, tidak ubah field lama):
| Field | Tipe | Default | Keterangan |
|---|---|---|---|
imunisasiLengkapPct |
Int | 0 | Persentase imunisasi lengkap (0-100) |
pemeriksaanRutinPct |
Int | 0 | Persentase pemeriksaan rutin (0-100) |
giziBaikPct |
Int | 0 | Persentase gizi baik (0-100) |
targetStuntingPct |
Int | 0 | Persentase target stunting (0-100) |
Step A — Schema + API
- 1. Edit
prisma/schema.prisma— tambah 4 field - 2. Buat migration manual
20260504000000_add_statistik_pct_ringkasan_kesehatan/migration.sql(mode interaktif tidak tersedia di sandbox) - 3.
findUnique.tstidak perlu diubah —findFirsttanpaselectotomatis bawa field baru - 4.
updt.ts+index.ts— handler create/update + Elysia body validation (range 0-100) - 5.
bun run build— exit 0 - 6. Bump
0.1.48 → 0.1.49 - 7. Commit
feat(kesehatan): tambah 4 field statistik pct...+ push branchtasks/statistik-kesehatan-ringkasan/add-pct-fields/20260504+ merge kestg
Step B — State File Admin
- 1. Bikin
_state/kesehatan/ringkasan-kesehatan/ringkasanKesehatan.ts(Valtio + zod) - 2.
findUnique.load()— GET + sync ke form - 3.
update.submit()— zod validate (count ≥ 0, Pct 0-100) + PUT + refresh - 4.
update.reset() - 5.
bun run build— exit 0 - 6. Bump
0.1.49 → 0.1.50 - 7. Commit + push ke
stg(2 remote)
Pending Manual
- User jalankan
bunx prisma migrate deploydi terminal lokal — apply 4 kolom baru ke DB - Trigger GitHub Workflow (publish + re-pull) bila mau deploy ke STG
Prinsip
- Additive only — field lama (
ibuHamilAkh,balitaTerdaftar,alertStunting) tidak disentuh - Validasi range 0-100 di Elysia
updt.ts - Tidak ada breaking change kontrak