MIF_E31221222/sigap-website/prisma/seed.ts

69 lines
1.3 KiB
TypeScript

const { PrismaClient } = require("@prisma/client");
const prisma = new PrismaClient();
async function main() {
// Clear existing data
await prisma.navSubItems.deleteMany({});
await prisma.navItems.deleteMany({});
const navItemDatas = [
{
title: "Dashboard",
url: "/dashboard",
slug: "dashboard",
order_seq: 1,
icon: "LayoutDashboard",
sub_items: [],
},
{
title: "Master",
url: "/master",
slug: "master",
order_seq: 2,
icon: "IconDashboard",
sub_items: [
{
title: "Users",
url: "/master/users",
slug: "users",
icon: "IconUsers ",
order_seq: 1,
},
],
},
{
title: "Map",
url: "/map",
slug: "map",
order_seq: 3,
icon: "Map",
sub_items: [],
},
];
// Create nav items and their sub-items
for (const navItemData of navItemDatas) {
const { sub_items, ...navItemFields } = navItemData;
await prisma.navItems.create({
data: {
...navItemFields,
sub_items: {
create: sub_items,
},
},
});
}
console.log("Seed data created successfully", navItemDatas);
}
main()
.catch((e) => {
console.error(e);
process.exit(1);
})
.finally(async () => {
await prisma.$disconnect();
});