27 lines
710 B
JavaScript
27 lines
710 B
JavaScript
const { PrismaClient } = require('@prisma/client');
|
|
const bcrypt = require('bcrypt');
|
|
|
|
const prisma = new PrismaClient();
|
|
|
|
async function main() {
|
|
const anyAdmin = await prisma.user.findFirst({ where: { role: 'admin' } });
|
|
if (anyAdmin) {
|
|
console.log(`Seed: admin account exists (${anyAdmin.email}), skipping default seed`);
|
|
return;
|
|
}
|
|
const hash = await bcrypt.hash('wraith', 10);
|
|
await prisma.user.create({
|
|
data: {
|
|
email: 'admin@wraith.local',
|
|
passwordHash: hash,
|
|
displayName: 'Admin',
|
|
role: 'admin',
|
|
},
|
|
});
|
|
console.log('Seed complete: admin@wraith.local / wraith (role: admin)');
|
|
}
|
|
|
|
main()
|
|
.catch(console.error)
|
|
.finally(() => prisma.$disconnect());
|