You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
1.1 KiB
JavaScript

const bcrypt = require('bcrypt');
const pool = require('../src/config/database');
async function createAdmin() {
const username = 'admin';
const password = 'admin123'; // Измените после первого входа!
const passwordHash = await bcrypt.hash(password, 10);
try {
const result = await pool.query(`
INSERT INTO users (username, password_hash, full_name, email, role, is_active)
VALUES ($1, $2, $3, $4, $5, $6)
ON CONFLICT (username) DO UPDATE
SET password_hash = $2
RETURNING id, username, role
`, [username, passwordHash, 'Главный администратор', 'admin@polotsk-transit.local', 'admin', true]);
console.log('✅ Мастер-аккаунт создан:', result.rows[0]);
console.log('Username: admin');
console.log('Password: admin123');
console.log('⚠️ ОБЯЗАТЕЛЬНО смените пароль после первого входа!');
} catch (error) {
console.error('❌ Ошибка:', error);
} finally {
await pool.end();
}
}
createAdmin();