43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
import { PrismaClient } from '@prisma/client'
|
||
import bcrypt from 'bcryptjs'
|
||
|
||
const prisma = new PrismaClient()
|
||
|
||
async function createAdmin() {
|
||
try {
|
||
console.log('🔐 Создание администратора...')
|
||
|
||
// Генерируем хеш пароля
|
||
const password = 'admin123' // Временный пароль
|
||
const hashedPassword = await bcrypt.hash(password, 12)
|
||
|
||
// Создаем администратора
|
||
const admin = await prisma.admin.create({
|
||
data: {
|
||
username: 'admin',
|
||
password: hashedPassword,
|
||
email: 'admin@sferav.com',
|
||
isActive: true
|
||
}
|
||
})
|
||
|
||
console.log('✅ Администратор создан:')
|
||
console.log(` Логин: ${admin.username}`)
|
||
console.log(` Пароль: ${password}`)
|
||
console.log(` Email: ${admin.email}`)
|
||
console.log(` ID: ${admin.id}`)
|
||
|
||
console.log('\n⚠️ Обязательно смените пароль после первого входа!')
|
||
|
||
} catch (error) {
|
||
if (error.code === 'P2002') {
|
||
console.log('❌ Администратор с таким логином уже существует')
|
||
} else {
|
||
console.error('❌ Ошибка создания администратора:', error)
|
||
}
|
||
} finally {
|
||
await prisma.$disconnect()
|
||
}
|
||
}
|
||
|
||
createAdmin()
|