// ==================== EMAIL PROVIDER ROUTES ==================== import { Router } from 'express'; import * as emailProviderController from '../controllers/emailProvider.controller.js'; import { authenticate, requirePermission } from '../middleware/auth.js'; const router = Router(); // Provider Config CRUD (Admin-only) router.get('/configs', authenticate, requirePermission('settings:read'), emailProviderController.getProviderConfigs); router.get('/configs/:id', authenticate, requirePermission('settings:read'), emailProviderController.getProviderConfig); router.post('/configs', authenticate, requirePermission('settings:update'), emailProviderController.createProviderConfig); router.put('/configs/:id', authenticate, requirePermission('settings:update'), emailProviderController.updateProviderConfig); router.delete('/configs/:id', authenticate, requirePermission('settings:update'), emailProviderController.deleteProviderConfig); // Email Operations router.post('/test-connection', authenticate, requirePermission('settings:update'), emailProviderController.testConnection); router.get('/domain', authenticate, emailProviderController.getProviderDomain); router.get('/check/:localPart', authenticate, requirePermission('customers:read'), emailProviderController.checkEmailExists); router.post('/provision', authenticate, requirePermission('customers:update'), emailProviderController.provisionEmail); router.delete('/deprovision/:localPart', authenticate, requirePermission('customers:update'), emailProviderController.deprovisionEmail); export default router;