Добавлены модели и функциональность для управления администраторами, включая авторизацию через JWT, запросы и мутации для получения информации об администраторах и управления пользователями. Обновлены стили и логика работы с токенами в Apollo Client. Улучшен интерфейс взаимодействия с пользователем.

This commit is contained in:
Bivekich
2025-07-19 14:53:45 +03:00
parent f24c015021
commit 6287449521
26 changed files with 3931 additions and 19 deletions

43
scripts/create-admin.mjs Normal file
View 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()