/**
 * Password Fix Script
 * Setzt die Passwort-Hashes für alle Benutzer zurück
 */

const bcrypt = require('bcrypt');
const Database = require('better-sqlite3');
const path = require('path');

async function fixPasswords() {
  const db = new Database(path.join(__dirname, 'data/taskmate.db'));
  
  console.log('Setze Passwort-Hashes zurück...');
  
  // Standard-Passwörter
  const passwords = {
    'admin': 'admin123',
    'hendrik_gebhardt@gmx.de': 'Hzfne313!fdEF34',
    'momohomma@googlemail.com': 'Hzfne313!fdEF34'
  };
  
  for (const [username, password] of Object.entries(passwords)) {
    const hash = await bcrypt.hash(password, 12);
    
    // Update basierend auf E-Mail oder Username
    const result = db.prepare(`
      UPDATE users 
      SET password_hash = ?, failed_attempts = 0, locked_until = NULL 
      WHERE email = ? OR username = ?
    `).run(hash, username, username);
    
    if (result.changes > 0) {
      console.log(`✅ Passwort für ${username} aktualisiert`);
    } else {
      console.log(`❌ Benutzer ${username} nicht gefunden`);
    }
  }
  
  db.close();
  console.log('Passwort-Fix abgeschlossen!');
}

fixPasswords().catch(console.error);