Spaces:
Running
Running
| import { PrismaClient } from "@prisma/client"; | |
| import { PrismaPg } from "@prisma/adapter-pg"; | |
| import { Pool } from "pg"; | |
| import * as bcrypt from "bcrypt"; | |
| import * as dotenv from "dotenv"; | |
| // Load environment variables | |
| dotenv.config(); | |
| // Initialize Prisma Client with adapter | |
| const pool = new Pool({ | |
| connectionString: process.env.DATABASE_URL, | |
| ssl: { | |
| rejectUnauthorized: false, | |
| }, | |
| }); | |
| const prisma = new PrismaClient({ | |
| adapter: new PrismaPg(pool), | |
| }); | |
| async function main() { | |
| const email = "admin@maternalert.com"; | |
| const password = "123456"; | |
| // Check if user already exists | |
| const existingUser = await prisma.userAuth.findUnique({ | |
| where: { email }, | |
| }); | |
| if (existingUser) { | |
| console.log("Super admin already exists!"); | |
| return; | |
| } | |
| // Hash password | |
| const passwordHash = await bcrypt.hash(password, 10); | |
| // Create super admin | |
| const user = await prisma.userAuth.create({ | |
| data: { | |
| email, | |
| passwordHash, | |
| role: "SUPER_ADMIN", | |
| isActive: true, | |
| status: "ACTIVE", | |
| }, | |
| }); | |
| console.log("Super admin created successfully!"); | |
| console.log("Email:", email); | |
| console.log("Password:", password); | |
| console.log("User ID:", user.id); | |
| } | |
| main() | |
| .catch((e) => { | |
| console.error(e); | |
| process.exit(1); | |
| }) | |
| .finally(async () => { | |
| await prisma.$disconnect(); | |
| }); | |