- Add Prisma models: DataBanjar, DistribusiAgama, DistribusiUmur, MigrasiPenduduk, DinamikaPenduduk - Create seeders for all kependudukan models with year 2026 data - Register Kependudukan API routes in route.ts - Update API findMany endpoints to make tahun parameter optional - Add YearFilter reusable component for admin pages - Update 4 kependudukan admin pages with year filter UI - Fix Mantine color array in AdminThemeProvider (add 10th element) - Fix invalid Mantine color scale in paguTable.tsx (gray.50 -> gray.1) - Add Kependudukan menu to navbar-list-menu.ts - Fix Bun JSON import resolution with loadJsonData helper - Update 74 seeder files to use dynamic JSON loading Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
46 lines
1.0 KiB
TypeScript
46 lines
1.0 KiB
TypeScript
import prisma from "@/lib/prisma";
|
|
import { loadJsonData } from "../../load-json";
|
|
|
|
const apbdesJson = loadJsonData("ekonomi/apbdes/apbdes.json");
|
|
|
|
export async function seedAPBDes() {
|
|
console.log("Seeding APBDes...");
|
|
|
|
for (const item of apbdesJson) {
|
|
let imageId: string | null = null;
|
|
let fileId: string | null = null;
|
|
|
|
if (item.imageName) {
|
|
const image = await prisma.fileStorage.findUnique({
|
|
where: { name: item.imageName },
|
|
select: { id: true },
|
|
});
|
|
if (image) imageId = image.id;
|
|
}
|
|
|
|
await prisma.aPBDes.upsert({
|
|
where: { id: item.id },
|
|
update: {
|
|
tahun: item.tahun,
|
|
name: item.name,
|
|
deskripsi: item.deskripsi,
|
|
jumlah: item.jumlah,
|
|
imageId,
|
|
fileId,
|
|
},
|
|
create: {
|
|
id: item.id,
|
|
tahun: item.tahun,
|
|
name: item.name,
|
|
deskripsi: item.deskripsi,
|
|
jumlah: item.jumlah,
|
|
imageId,
|
|
fileId,
|
|
},
|
|
});
|
|
console.log(` APBDes: ${item.name}`);
|
|
}
|
|
|
|
console.log("APBDes seed selesai");
|
|
}
|