smart_ims/server/createAdmin.js
2026-01-22 23:42:55 +09:00

46 lines
1.4 KiB
JavaScript

const db = require('./db');
const crypto = require('crypto');
require('dotenv').config();
const ID = 'admin';
const PASSWORD = 'admin'; // Default password
const NAME = '시스템 관리자';
function hashPassword(password) {
return crypto.createHash('sha256').update(password).digest('hex');
}
async function createAdmin() {
console.log(`Creating/Updating admin user...`);
console.log(`ID: ${ID}`);
console.log(`Password: ${PASSWORD}`);
try {
const hashedPassword = hashPassword(PASSWORD);
// Check if exists
const [existing] = await db.query('SELECT * FROM users WHERE id = ?', [ID]);
if (existing.length > 0) {
console.log('User exists using UPDATE...');
await db.query('UPDATE users SET password = ?, name = ?, role = "admin" WHERE id = ?', [hashedPassword, NAME, ID]);
} else {
console.log('User does not exist. creating...');
await db.query(`
INSERT INTO users (id, password, name, role, department, position)
VALUES (?, ?, ?, 'admin', 'IT팀', '관리자')
`, [ID, hashedPassword, NAME]);
}
console.log('✅ Admin user setup complete.');
console.log(`You can now login with ID: '${ID}' and password: '${PASSWORD}'`);
process.exit(0);
} catch (error) {
console.error('❌ Failed to create admin:', error);
process.exit(1);
}
}
createAdmin();