feat(sosial-dashboard): tambah API ringkasan pendidikan & beasiswa + CRUD event budaya - bump 0.1.55

- API GET /api/pendidikan/ringkasan/stats: siswa per jenjang, jumlah lembaga & pengajar
- API GET /api/pendidikan/beasiswa/ringkasan/stats: jumlah penerima, dana, tahun ajaran
- Schema + migration: model EventBudaya (nama, tanggal, lokasi, deskripsi)
- API CRUD /api/desa/eventbudaya: create, find-many, findUnique, updt, del
- State admin: eventBudaya.ts (valtio proxy, create/findMany/edit/delete)
- Admin CMS: /admin/desa/event-budaya (list, create, edit)
- Navbar: tambah entry Desa_9 Event Budaya di semua role
- Seeder: 8 event budaya Bali untuk Desa Darmasaba

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-05 15:25:34 +08:00
parent 2497298703
commit ff25ead2df
24 changed files with 1006 additions and 1 deletions

View File

@@ -0,0 +1,30 @@
import prisma from "@/lib/prisma";
import { loadJsonData } from "../../../load-json";
const eventBudayaJson = loadJsonData("desa/event-budaya/event-budaya.json");
export async function seedEventBudaya() {
console.log("🔄 Seeding Event Budaya...");
for (const item of eventBudayaJson) {
await prisma.eventBudaya.upsert({
where: { id: item.id },
update: {
nama: item.nama,
tanggal: new Date(item.tanggal),
lokasi: item.lokasi,
deskripsi: item.deskripsi,
},
create: {
id: item.id,
nama: item.nama,
tanggal: new Date(item.tanggal),
lokasi: item.lokasi,
deskripsi: item.deskripsi,
},
});
console.log(` ✅ Event: ${item.nama}`);
}
console.log("🎉 Event Budaya seed selesai");
}