import { Router } from 'express';
import * as stressfreiEmailController from '../controllers/stressfreiEmail.controller.js';
import { authenticate, requirePermission } from '../middleware/auth.js';

const router = Router();

// Einzelne Stressfrei-Email verwalten
router.get('/:id', authenticate, requirePermission('customers:read'), stressfreiEmailController.getEmail);
router.put('/:id', authenticate, requirePermission('customers:update'), stressfreiEmailController.updateEmail);
router.delete('/:id', authenticate, requirePermission('customers:delete'), stressfreiEmailController.deleteEmail);

// Passwort zurücksetzen (generiert neues Passwort und setzt es beim Provider)
router.post('/:id/reset-password', authenticate, requirePermission('customers:update'), stressfreiEmailController.resetPassword);

// Weiterleitungen neu setzen (z.B. nach Änderung der Kunden-Stamm-E-Mail)
router.post('/:id/sync-forwarding', authenticate, requirePermission('customers:update'), stressfreiEmailController.syncForwarding);

// Zusätzliche Weiterleitungs-Ziele setzen (User-pflegbare Liste, zusätzlich
// zur Stamm-E-Mail des Kunden und der globalen Default-Forward-Adresse).
router.put('/:id/additional-forwards', authenticate, requirePermission('customers:update'), stressfreiEmailController.updateAdditionalForwards);

export default router;
