const PasswordService = require('../services/PasswordService'); /** * Controller für Passwort-Verwaltung * Verarbeitet HTTP-Requests und delegiert an PasswordService */ class PasswordController { /** * Ändert das Passwort */ async changePassword(req, res) { try { const userId = req.user?.id || 1; const { oldPassword, newPassword, confirmPassword } = req.body; if (!oldPassword || !newPassword || !confirmPassword) { return res.status(400).json({ message: 'Alle Felder sind erforderlich' }); } if (newPassword !== confirmPassword) { return res.status(400).json({ message: 'Die Passwörter stimmen nicht überein' }); } await PasswordService.changePassword(userId, oldPassword, newPassword); res.json({ message: 'Passwort erfolgreich geändert' }); } catch (error) { console.error('Fehler beim Ändern des Passworts:', error); // Spezifische Fehlermeldungen if (error.message.includes('alte Passwort')) { return res.status(401).json({ message: error.message }); } res.status(500).json({ message: error.message || 'Fehler beim Ändern des Passworts' }); } } } module.exports = new PasswordController();