![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/lavocat.ca/public_html/scripts/ |
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();
async function main() {
// 1. Create a demo business
let business = await prisma.business.findFirst({ where: { name: 'Demo Law Firm' } });
if (!business) {
business = await prisma.business.create({
data: {
name: 'Demo Law Firm',
description: 'A sample law firm for demo purposes',
industry: 'Legal',
website: 'https://demolawfirm.com',
email: 'contact@demolawfirm.com',
phone: '+1234567890',
address: '123 Demo St',
city: 'Demo City',
state: 'Demo State',
zipCode: '12345',
country: 'DemoLand',
isActive: true,
}
});
console.log('✅ Created demo business');
} else {
console.log('ℹ️ Demo business already exists');
}
// 2. Create demo users
const usersData = [
{ name: 'Alice Attorney', email: 'alice@demo.com', role: 'LAWYER' },
{ name: 'Bob Barrister', email: 'bob@demo.com', role: 'LAWYER' },
{ name: 'Cathy Clerk', email: 'cathy@demo.com', role: 'CLERK' },
];
for (const userData of usersData) {
let user = await prisma.user.findUnique({ where: { email: userData.email } });
if (!user) {
user = await prisma.user.create({ data: userData });
console.log(`✅ Created user: ${user.name}`);
}
// 3. Add user as business member (if not already)
const member = await prisma.businessMember.findFirst({
where: { businessId: business.id, userId: user.id }
});
if (!member) {
await prisma.businessMember.create({
data: {
businessId: business.id,
userId: user.id,
role: user.role,
joinedAt: new Date(),
}
});
console.log(`✅ Added ${user.name} as member of Demo Law Firm`);
}
}
// 4. Create demo cases
const casesData = [
{ title: 'Demo Case 1', description: 'A sample case for demo', businessId: business.id },
{ title: 'Demo Case 2', description: 'Another sample case', businessId: business.id },
];
for (const caseData of casesData) {
const existing = await prisma.case.findFirst({ where: { title: caseData.title, businessId: business.id } });
if (!existing) {
await prisma.case.create({ data: caseData });
console.log(`✅ Created case: ${caseData.title}`);
}
}
console.log('🎉 Demo data seeded!');
}
main().catch(e => {
console.error(e);
process.exit(1);
}).finally(async () => {
await prisma.$disconnect();
});