feat: Mail template management UI and API CRUD

- Added full CRUD endpoints for mail templates (create, update, delete, preview)
- Introduced Joi validators for template create/update/preview
- Updated routes/controller to support ID and type lookups
- Built React Templates page with HTML editor, preview, and clipboard helpers
- Added navigation entry and route for /templates
- Enhanced documentation (README, QUICKSTART, KULLANIM, frontend/backend README)
This commit is contained in:
salvacybersec
2025-11-10 17:27:19 +03:00
parent dc16d0c549
commit 20191eb35d
11 changed files with 661 additions and 13 deletions

View File

@@ -2,13 +2,22 @@ const express = require('express');
const router = express.Router();
const templateController = require('../controllers/template.controller');
const { requireAuth } = require('../middlewares/auth');
const {
validateCreateTemplate,
validateUpdateTemplate,
validatePreviewTemplate,
} = require('../validators/template.validator');
// All template routes require authentication
router.use(requireAuth);
router.get('/', templateController.getAllTemplates);
router.get('/:type', templateController.getTemplateByType);
router.post('/preview', templateController.previewTemplate);
router.post('/', validateCreateTemplate, templateController.createTemplate);
router.get('/:id(\\d+)', templateController.getTemplateById);
router.put('/:id(\\d+)', validateUpdateTemplate, templateController.updateTemplate);
router.delete('/:id(\\d+)', templateController.deleteTemplate);
router.get('/type/:type', templateController.getTemplateByType);
router.post('/preview', validatePreviewTemplate, templateController.previewTemplate);
module.exports = router;