import { PrismaClient } from "@prisma/client"; import bcrypt from "bcryptjs"; const prisma = new PrismaClient(); async function main() { // Seed roles const ownerRole = await prisma.role.upsert({ where: { name: "owner" }, update: {}, create: { name: "owner" }, }); await prisma.role.upsert({ where: { name: "manager" }, update: {}, create: { name: "manager" }, }); await prisma.role.upsert({ where: { name: "cashier" }, update: {}, create: { name: "cashier" }, }); // 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 owner 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: ownerRole.id, }, }); console.log("Seed complete"); } main() .catch(console.error) .finally(() => prisma.$disconnect());