69 lines
1.3 KiB
TypeScript
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();
|
|
});
|