Files
stechuhr3/backend/src/controllers/TimefixController.js
Torsten Schulz (local) 4787700cd0
All checks were successful
Deploy production / deploy (push) Successful in 48s
Ermögliche das Abrufen von Zeitkorrekturen für ein spezifisches Datum und aktualisiere die Benutzeroberfläche entsprechend
2026-08-26 16:19:39 +02:00

95 lines
2.6 KiB
JavaScript
Executable File

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();