Добавлены модели и функциональность для управления администраторами, включая авторизацию через JWT, запросы и мутации для получения информации об администраторах и управления пользователями. Обновлены стили и логика работы с токенами в Apollo Client. Улучшен интерфейс взаимодействия с пользователем.
This commit is contained in:
43
scripts/create-admin.mjs
Normal file
43
scripts/create-admin.mjs
Normal file
@ -0,0 +1,43 @@
|
||||
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()
|
Reference in New Issue
Block a user