Files
stechuhr3/backend/src/controllers/ProfileController.js

63 lines
1.5 KiB
JavaScript
Executable File

const ProfileService = require('../services/ProfileService');
/**
* Controller für Benutzer-Profil
* Verarbeitet HTTP-Requests und delegiert an ProfileService
*/
class ProfileController {
/**
* Holt das Benutzerprofil
*/
async getProfile(req, res) {
try {
const userId = req.user?.id || 1;
const profile = await ProfileService.getProfile(userId);
res.json(profile);
} catch (error) {
console.error('Fehler beim Abrufen des Profils:', error);
res.status(500).json({
message: 'Fehler beim Abrufen des Profils',
error: error.message
});
}
}
/**
* Aktualisiert das Benutzerprofil
*/
async updateProfile(req, res) {
try {
const userId = req.user?.id || 1;
const updates = req.body;
const profile = await ProfileService.updateProfile(userId, updates);
res.json(profile);
} catch (error) {
console.error('Fehler beim Aktualisieren des Profils:', error);
res.status(500).json({
message: 'Fehler beim Aktualisieren des Profils',
error: error.message
});
}
}
/**
* Holt alle verfügbaren Bundesländer
*/
async getStates(req, res) {
try {
const states = await ProfileService.getAllStates();
res.json(states);
} catch (error) {
console.error('Fehler beim Abrufen der Bundesländer:', error);
res.status(500).json({
message: 'Fehler beim Abrufen der Bundesländer',
error: error.message
});
}
}
}
module.exports = new ProfileController();