feat(kesehatan): tambah relasi banjar ke penderita penyakit dan CRUD banjar admin

- Tambah field banjarId (optional) ke GrafikKepuasan + migration
- API CRUD banjar baru di /api/desa/banjar/*
- Update API grafik_kepuasan: create, find-many (filter by banjar), findUnique, updt - semua include banjar
- State: tambah banjarId ke form, banjarList proxy, filter by banjarId
- UI list: kolom Banjar di tabel desktop, kartu mobile, Select filter by banjar
- UI create/edit: Select banjar (opsional), load banjarList on mount
- UI detail: tampilkan field Banjar
- Admin banjar: halaman list, create, detail
- Sidebar: menu Banjar di domain Desa

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-30 11:08:58 +08:00
parent be3365c9e3
commit a67c192c83
25 changed files with 1002 additions and 31 deletions

View File

@@ -1050,6 +1050,8 @@ model GrafikKepuasan {
jenisKelamin String
alamat String
penyakit String
banjar Banjar? @relation(fields: [banjarId], references: [id])
banjarId String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
deletedAt DateTime @default(now())
@@ -1152,12 +1154,13 @@ model DoctorSign {
// ========================================= BANJAR ========================================= //
model Banjar {
id String @id @default(cuid())
name String
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
posyandus Posyandu[]
id String @id @default(cuid())
name String
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
posyandus Posyandu[]
grafikKepuasans GrafikKepuasan[]
}
// ========================================= POSYANDU ========================================= //