Add timefix and vacation routes to backend; update frontend for new routes and page titles
This commit is contained in:
94
backend/src/controllers/TimefixController.js
Normal file
94
backend/src/controllers/TimefixController.js
Normal file
@@ -0,0 +1,94 @@
|
||||
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);
|
||||
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();
|
||||
Reference in New Issue
Block a user