const express = require('express'); const db = require('../db'); const asyncHandler = require('../middleware/asyncHandler'); const router = express.Router(); router.post('/', asyncHandler(async (req, res) => { const { anbieter_id, prozentsatz, gueltig_ab, beschreibung } = req.body || {}; if (!anbieter_id) return res.status(400).json({ error: 'Anbieter ist erforderlich' }); const p = parseFloat(prozentsatz); if (!Number.isFinite(p) || p < 0 || p > 100) { return res.status(400).json({ error: 'Prozentsatz muss zwischen 0 und 100 liegen' }); } try { const result = await db.run( 'INSERT INTO mitarbeiter_prozentsaetze (anbieter_id, prozentsatz, gueltig_ab, beschreibung) VALUES (?, ?, ?, ?)', [anbieter_id, p, gueltig_ab || new Date().toISOString().split('T')[0], beschreibung || null] ); res.json({ id: result.lastID, message: 'Mitarbeiter-Prozentsatz erfolgreich erstellt' }); } catch (err) { if (/UNIQUE/.test(err.message)) { return res.status(400).json({ error: 'Ein Prozentsatz für dieses Datum existiert bereits für diesen Anbieter' }); } throw err; } })); router.delete('/:id', asyncHandler(async (req, res) => { const result = await db.run('DELETE FROM mitarbeiter_prozentsaetze WHERE id = ?', [req.params.id]); if (result.changes === 0) return res.status(404).json({ error: 'Mitarbeiter-Prozentsatz nicht gefunden' }); res.json({ message: 'Mitarbeiter-Prozentsatz erfolgreich gelöscht' }); })); module.exports = router;