Seeder Menu Lingkungan dan Pendidikan

Fix Jam Operasional Kantor Desa Darmasaba
This commit is contained in:
2026-02-03 16:53:15 +08:00
parent 6c36a15290
commit 358ff14efe
28 changed files with 847 additions and 833 deletions

View File

@@ -0,0 +1,60 @@
import prisma from "@/lib/prisma";
import tujuanBimbinganBelajarDesa from "../../data/pendidikan/bimbingan-belajar-desa/tujuan-bimbingan-belajar-desa.json";
import lokasiJadwalBimbinganBelajarDesa from "../../data/pendidikan/bimbingan-belajar-desa/lokasi-dan-jadwal.json";
import fasilitasBimbinganBelajarDesa from "../../data/pendidikan/bimbingan-belajar-desa/fasilitas-yang-disediakan.json";
export async function seedBimbinganBelajar() {
for (const t of tujuanBimbinganBelajarDesa) {
await prisma.tujuanBimbinganBelajarDesa.upsert({
where: { id: t.id },
update: {
judul: t.judul,
deskripsi: t.deskripsi,
},
create: {
id: t.id,
judul: t.judul,
deskripsi: t.deskripsi,
},
});
}
console.log(
"✅ tujuan bimbingan belajar desa seeded (editable later via UI)",
);
for (const t of lokasiJadwalBimbinganBelajarDesa) {
await prisma.lokasiJadwalBimbinganBelajarDesa.upsert({
where: { id: t.id },
update: {
judul: t.judul,
deskripsi: t.deskripsi,
},
create: {
id: t.id,
judul: t.judul,
deskripsi: t.deskripsi,
},
});
}
console.log(
"✅ lokasi jadwal bimbingan belajar desa seeded (editable later via UI)",
);
for (const t of fasilitasBimbinganBelajarDesa) {
await prisma.fasilitasBimbinganBelajarDesa.upsert({
where: { id: t.id },
update: {
judul: t.judul,
deskripsi: t.deskripsi,
},
create: {
id: t.id,
judul: t.judul,
deskripsi: t.deskripsi,
},
});
}
console.log(
"✅ fasilitas bimbingan belajar desa seeded (editable later via UI)",
);
}

View File

@@ -0,0 +1,23 @@
import prisma from "@/lib/prisma";
import dataPendidikan from "../../data/pendidikan/data-pendidikan/data-pendidikan.json";
export async function seedDataPendidikan() {
console.log("🔄 Seeding Data pendidikan...");
for (const k of dataPendidikan) {
await prisma.dataPendidikan.upsert({
where: {
id: k.id,
},
update: {
name: k.name,
jumlah: k.jumlah,
},
create: {
id: k.id,
name: k.name,
jumlah: k.jumlah,
},
});
}
console.log("✅ Data pendidikan seeded successfully");
}

View File

@@ -0,0 +1,62 @@
import prisma from "@/lib/prisma";
import dataPerpustakaan from "../../data/pendidikan/perpustakaan-digital/perpustakaan-digital.json";
import kategoriBuku from "../../data/pendidikan/perpustakaan-digital/kategori-buku.json";
export async function seedDataPerpustakaan() {
console.log("🔄 Seeding Kategori Buku...");
for (const k of kategoriBuku) {
await prisma.kategoriBuku.upsert({
where: {
id: k.id,
},
update: {
name: k.name,
},
create: {
id: k.id,
name: k.name,
},
});
}
console.log("✅ Kategori Buku seeded successfully");
console.log("🔄 Seeding Data perpustakaan...");
for (const k of dataPerpustakaan) {
let imageId: string | null = null;
if (k.imageName) {
const image = await prisma.fileStorage.findUnique({
where: { name: k.imageName },
select: { id: true },
});
if (!image) {
console.warn(
`⚠️ Image not found for perpustakaan "${k.judul}": ${k.imageName}`,
);
} else {
imageId = image.id;
}
}
await prisma.dataPerpustakaan.upsert({
where: {
id: k.id,
},
update: {
judul: k.judul,
deskripsi: k.deskripsi,
kategoriId: k.kategoriId,
imageId: imageId
},
create: {
id: k.id,
judul: k.judul,
deskripsi: k.deskripsi,
kategoriId: k.kategoriId,
imageId: imageId
},
});
}
console.log("✅ Data perpustakaan seeded successfully");
}

View File

@@ -0,0 +1,36 @@
import prisma from "@/lib/prisma";
import tujuanProgram from "../../data/pendidikan/program-pendidikan-anak/tujuan-program.json";
import programUnggulan from "../../data/pendidikan/program-pendidikan-anak/program-unggulan.json";
export async function seedInfoProgramPendidikan() {
for (const t of tujuanProgram) {
await prisma.tujuanProgram.upsert({
where: { id: t.id },
update: {
judul: t.judul,
deskripsi: t.deskripsi,
},
create: {
id: t.id,
judul: t.judul,
deskripsi: t.deskripsi,
},
});
}
console.log("✅ tujuan program seeded (editable later via UI)");
for (const t of programUnggulan) {
await prisma.programUnggulan.upsert({
where: { id: t.id },
update: {
judul: t.judul,
deskripsi: t.deskripsi,
},
create: {
id: t.id,
judul: t.judul,
deskripsi: t.deskripsi,
},
});
}
console.log("✅ program unggulan seeded (editable later via UI)");
}

View File

@@ -0,0 +1,74 @@
import prisma from "@/lib/prisma";
import jenjangPendidikan from "../../data/pendidikan/info-sekolah/jenjang-pendidikan.json";
import lembagaPendidikan from "../../data/pendidikan/info-sekolah/lembaga.json";
import siswa from "../../data/pendidikan/info-sekolah/siswa.json";
import pengajar from "../../data/pendidikan/info-sekolah/pengajar.json";
export async function seedInfoSekolah() {
for (const j of jenjangPendidikan) {
await prisma.jenjangPendidikan.upsert({
where: {
id: j.id,
},
update: {
nama: j.nama,
},
create: {
id: j.id,
nama: j.nama,
},
});
}
console.log("✅ Jenjang Pendidikan seeded successfully");
for (const j of lembagaPendidikan) {
await prisma.lembaga.upsert({
where: {
id: j.id,
},
update: {
nama: j.nama,
jenjangId: j.jenjangId,
},
create: {
id: j.id,
nama: j.nama,
jenjangId: j.jenjangId,
},
});
}
console.log("✅ Lembaga Pendidikan seeded successfully");
for (const j of siswa) {
await prisma.siswa.upsert({
where: {
id: j.id,
},
update: {
nama: j.nama,
lembagaId: j.lembagaId,
},
create: {
id: j.id,
nama: j.nama,
lembagaId: j.lembagaId,
},
});
}
console.log("✅ siswa seeded successfully");
for (const j of pengajar) {
await prisma.pengajar.upsert({
where: {
id: j.id,
},
update: {
nama: j.nama,
lembagaId: j.lembagaId,
},
create: {
id: j.id,
nama: j.nama,
lembagaId: j.lembagaId,
},
});
}
console.log("✅ pengajar seeded successfully");
}

View File

@@ -0,0 +1,60 @@
import prisma from "@/lib/prisma";
import tujuanProgram from "../../data/pendidikan/pendidikan-non-formal/tujuan-program2.json";
import tempatKegiatan from "../../data/pendidikan/pendidikan-non-formal/tempat-kegiatan.json";
import jenisProgramYangDiselenggarakan from "../../data/pendidikan/pendidikan-non-formal/jenis-program-yang-diselenggarakan.json";
export async function seedPendidikanNonFormal() {
for (const t of tujuanProgram) {
await prisma.tujuanPendidikanNonFormal.upsert({
where: { id: t.id },
update: {
judul: t.judul,
deskripsi: t.deskripsi,
},
create: {
id: t.id,
judul: t.judul,
deskripsi: t.deskripsi,
},
});
}
console.log(
"✅ fasilitas bimbingan belajar desa seeded (editable later via UI)",
);
for (const t of tempatKegiatan) {
await prisma.tempatKegiatan.upsert({
where: { id: t.id },
update: {
judul: t.judul,
deskripsi: t.deskripsi,
},
create: {
id: t.id,
judul: t.judul,
deskripsi: t.deskripsi,
},
});
}
console.log(
"✅ fasilitas bimbingan belajar desa seeded (editable later via UI)",
);
for (const t of jenisProgramYangDiselenggarakan) {
await prisma.jenisProgramYangDiselenggarakan.upsert({
where: { id: t.id },
update: {
judul: t.judul,
deskripsi: t.deskripsi,
},
create: {
id: t.id,
judul: t.judul,
deskripsi: t.deskripsi,
},
});
}
console.log(
"✅ fasilitas bimbingan belajar desa seeded (editable later via UI)",
);
}