const bcrypt = require('bcrypt'); const DatabaseHelper = require('./database/db-helper'); async function resetAdminPassword() { const dbHelper = new DatabaseHelper(); try { console.log('πŸ”„ κ΄€λ¦¬μž λΉ„λ°€λ²ˆν˜Έ μ΄ˆκΈ°ν™” μ‹œμž‘...'); const password = 'Hee150603!'; const saltRounds = 10; const hashedPassword = await bcrypt.hash(password, saltRounds); console.log('πŸ” ν•΄μ‹œλœ λΉ„λ°€λ²ˆν˜Έ:', hashedPassword); // κ΄€λ¦¬μž μ‚¬μš©μž 확인 const existingUser = await dbHelper.getUserByEmail('admin@jaryo.com'); if (existingUser) { // κΈ°μ‘΄ μ‚¬μš©μž λΉ„λ°€λ²ˆν˜Έ μ—…λ°μ΄νŠΈ (SQLite 용) await dbHelper.connect(); const query = 'UPDATE users SET password_hash = ? WHERE email = ?'; dbHelper.db.run(query, [hashedPassword, 'admin@jaryo.com'], function(err) { if (err) { console.error('λΉ„λ°€λ²ˆν˜Έ μ—…λ°μ΄νŠΈ μ‹€νŒ¨:', err); } else { console.log('βœ… κΈ°μ‘΄ κ΄€λ¦¬μž λΉ„λ°€λ²ˆν˜Έκ°€ μ—…λ°μ΄νŠΈλ˜μ—ˆμŠ΅λ‹ˆλ‹€.'); } }); } else { // μƒˆ κ΄€λ¦¬μž μ‚¬μš©μž 생성 const adminData = { email: 'admin@jaryo.com', password_hash: hashedPassword, name: 'κ΄€λ¦¬μž', role: 'admin' }; const result = await dbHelper.createUser(adminData); console.log('βœ… μƒˆ κ΄€λ¦¬μž μ‚¬μš©μžκ°€ μƒμ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.'); } // 둜그인 ν…ŒμŠ€νŠΈ const user = await dbHelper.getUserByEmail('admin@jaryo.com'); const isValid = await bcrypt.compare(password, user.password_hash); console.log('πŸ§ͺ 둜그인 ν…ŒμŠ€νŠΈ κ²°κ³Ό:', isValid ? '성곡' : 'μ‹€νŒ¨'); if (isValid) { console.log('πŸŽ‰ κ΄€λ¦¬μž 계정 μ„€μ • μ™„λ£Œ!'); console.log('πŸ“§ 이메일: admin@jaryo.com'); console.log('πŸ”‘ λΉ„λ°€λ²ˆν˜Έ: Hee150603!'); } await dbHelper.close(); } catch (error) { console.error('❌ 였λ₯˜ λ°œμƒ:', error); await dbHelper.close(); process.exit(1); } } resetAdminPassword();