import { Router } from 'express';
import { requireAuth, requireFlag } from '../middleware/auth';
import {
  listEmailTemplates,
  updateEmailTemplate,
  previewEmailTemplate,
  renderEmailTemplateForVisitor,
  restoreEmailTemplateDefaults,
} from '../controllers/emailTemplates.controller';

const router = Router();

router.get('/', requireAuth, listEmailTemplates);
// Preview is a read-only render, so leave it open. Save / restore are
// destructive workspace-level config changes — gate them.
router.put('/:type', requireAuth, requireFlag('canManageSettings'), updateEmailTemplate);
router.post('/:type/preview', requireAuth, previewEmailTemplate);
router.get('/:type/render-for-visitor/:visitorId', requireAuth, renderEmailTemplateForVisitor);
router.post('/:type/restore-defaults', requireAuth, requireFlag('canManageSettings'), restoreEmailTemplateDefaults);

export default router;
