const express = require('express');
const router = express.Router(); 
const timeEntryController = require('../controllers/TimeEntryController');

// GET Statistiken (muss vor /:id stehen, um Konflikte zu vermeiden)
router.get('/stats/summary', timeEntryController.getStats.bind(timeEntryController));

// GET aktuellen Status
router.get('/current-state', timeEntryController.getCurrentState.bind(timeEntryController));

// POST Stempeln (Clock In/Out, Pause)
router.post('/clock', timeEntryController.clock.bind(timeEntryController));

// GET aktuell laufenden Timer
router.get('/running', timeEntryController.getRunningEntry.bind(timeEntryController));

// GET Einträge nach Projekt
router.get('/project/:projectName', timeEntryController.getEntriesByProject.bind(timeEntryController));

// GET alle Zeiteinträge
router.get('/', timeEntryController.getAllEntries.bind(timeEntryController));

// GET einzelner Zeiteintrag
router.get('/:id', timeEntryController.getEntryById.bind(timeEntryController));

// POST neuer Zeiteintrag (Clock In)
router.post('/', timeEntryController.createEntry.bind(timeEntryController));

// PUT Zeiteintrag aktualisieren (Clock Out)
router.put('/:id', timeEntryController.updateEntry.bind(timeEntryController));

// DELETE Zeiteintrag löschen
router.delete('/:id', timeEntryController.deleteEntry.bind(timeEntryController));

module.exports = router;

