const timefixService = require('../services/TimefixService'); class TimefixController { /** * Holt alle Worklog-Einträge für ein bestimmtes Datum */ async getWorklogEntriesForDate(req, res) { try { const userId = req.user.userId; const { date } = req.query; if (!date) { return res.status(400).json({ message: 'Datum ist erforderlich' }); } const entries = await timefixService.getWorklogEntriesForDate(userId, date); res.json(entries); } catch (error) { console.error('Fehler beim Abrufen der Worklog-Einträge:', error); res.status(500).json({ message: 'Fehler beim Abrufen der Worklog-Einträge', error: error.message }); } } /** * Holt alle Zeitkorrekturen für den heutigen Tag */ async getTodayTimefixes(req, res) { try { const userId = req.user.userId; const timefixes = await timefixService.getTodayTimefixes(userId, req.query.date); res.json(timefixes); } catch (error) { console.error('Fehler beim Abrufen der Timefixes:', error); res.status(500).json({ message: 'Fehler beim Abrufen der Zeitkorrekturen', error: error.message }); } } /** * Erstellt eine neue Zeitkorrektur */ async createTimefix(req, res) { try { const userId = req.user.userId; const { worklogId, newDate, newTime, newAction } = req.body; if (!worklogId || !newDate || !newTime || !newAction) { return res.status(400).json({ message: 'Fehlende Pflichtfelder: worklogId, newDate, newTime, newAction' }); } const timefix = await timefixService.createTimefix(userId, worklogId, newDate, newTime, newAction); res.status(201).json({ message: 'Zeitkorrektur erfolgreich erstellt', timefix }); } catch (error) { console.error('Fehler beim Erstellen der Timefix:', error); res.status(500).json({ message: 'Fehler beim Erstellen der Zeitkorrektur', error: error.message }); } } /** * Löscht eine Zeitkorrektur */ async deleteTimefix(req, res) { try { const userId = req.user.userId; const timefixId = req.params.id; await timefixService.deleteTimefix(userId, timefixId); res.json({ message: 'Zeitkorrektur erfolgreich gelöscht' }); } catch (error) { console.error('Fehler beim Löschen der Timefix:', error); res.status(500).json({ message: 'Fehler beim Löschen der Zeitkorrektur', error: error.message }); } } } module.exports = new TimefixController();