adpa-enterprise-framework-automation
Version:
Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe
21 lines • 1.55 kB
JavaScript
import { Router } from 'express';
import { validate } from '../middleware/validation.js';
import { requirePermission } from '../middleware/auth.js';
import { templateCreateSchema, templateUpdateSchema, templateGetSchema, templateDeleteSchema, templateListSchema, templateValidateSchema } from '../validators/templateSchemas.js';
// Export a factory function that takes the TemplateController as argument
export function createTemplatesRouter(TemplateController) {
const router = Router();
// Template overall stats route (must come before any /:templateId route)
router.get('/stats', requirePermission('read'), TemplateController.getOverallTemplateStats);
// Template CRUD operations
router.post('/', requirePermission('write'), validate(templateCreateSchema), TemplateController.createTemplate);
router.get('/:templateId', requirePermission('read'), validate(templateGetSchema), TemplateController.getTemplate);
router.put('/:templateId', requirePermission('write'), validate(templateUpdateSchema), TemplateController.updateTemplate);
router.delete('/:templateId', requirePermission('write'), validate(templateDeleteSchema), TemplateController.deleteTemplate);
// Template listing and search
router.get('/', requirePermission('read'), validate(templateListSchema), TemplateController.listTemplates);
// Template validation
router.post('/validate', requirePermission('read'), validate(templateValidateSchema), TemplateController.validateTemplate);
return router;
}
//# sourceMappingURL=templates.js.map