import { PrismaClient } from "@prisma/client"; import bcrypt from "bcryptjs"; const prisma = new PrismaClient(); async function main() { // Seed roles const adminRole = await prisma.role.upsert({ where: { name: "admin" }, update: {}, create: { name: "admin" }, }); await prisma.role.upsert({ where: { name: "vendor" }, update: {}, create: { name: "vendor" }, }); await prisma.role.upsert({ where: { name: "user" }, update: {}, create: { name: "user" }, }); // Seed demo vendor const vendor = await prisma.vendor.upsert({ where: { id: "demo-vendor" }, update: {}, create: { id: "demo-vendor", name: "Demo Store", businessNum: "123-456", }, }); // Seed demo admin user await prisma.user.upsert({ where: { email: "admin@demo.com" }, update: {}, create: { email: "admin@demo.com", passwordHash: await bcrypt.hash("password123", 10), name: "Demo Admin", vendorId: vendor.id, roleId: adminRole.id, }, }); console.log("Seed complete"); } main() .catch(console.error) .finally(() => prisma.$disconnect());