95 lines
2.6 KiB
JavaScript
Executable File
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();
|