44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
|
|
import { PrismaClient } from '@prisma/client';
|
|
import bcrypt from 'bcryptjs';
|
|
|
|
const prisma = new PrismaClient();
|
|
|
|
async function createAdmin() {
|
|
const email = 'admin@digicraft.app';
|
|
const password = 'adminpassword'; // Stronger password
|
|
const role = 'ADMIN';
|
|
|
|
console.log(`Creating Admin User: ${email}`);
|
|
|
|
const salt = await bcrypt.genSalt(10);
|
|
const passwordHash = await bcrypt.hash(password, salt);
|
|
|
|
try {
|
|
const user = await prisma.user.upsert({
|
|
where: { email },
|
|
update: {
|
|
passwordHash,
|
|
role
|
|
},
|
|
create: {
|
|
email,
|
|
passwordHash,
|
|
role
|
|
}
|
|
});
|
|
|
|
console.log("✅ Admin User Created Successfully!");
|
|
console.log(`📧 Email: ${email}`);
|
|
console.log(`🔑 Password: ${password}`);
|
|
console.log(`🛡️ Role: ${user.role}`);
|
|
|
|
} catch (error) {
|
|
console.error("❌ Error creating admin:", error);
|
|
} finally {
|
|
await prisma.$disconnect();
|
|
}
|
|
}
|
|
|
|
createAdmin();
|