const express = require('express'); const router = express.Router(); const fs = require('fs'); const path = require('path'); // GET /api/templates/:domain/:level - Récupérer un template spécifique router.get('/:domain/:level', (req, res) => { const { domain, level } = req.params; try { const templatePath = path.join(__dirname, '../templates', domain, `${level}.md`); if (!fs.existsSync(templatePath)) { return res.status(404).json({ success: false, error: `Template non trouvé : ${domain}/${level}` }); } const templateContent = fs.readFileSync(templatePath, 'utf8'); res.json({ success: true, data: { domain, level, content: templateContent } }); } catch (error) { console.error('Erreur lors de la lecture du template:', error); res.status(500).json({ success: false, error: 'Erreur serveur lors de la lecture du template' }); } }); // GET /api/templates/:domain - Lister les niveaux disponibles pour un domaine router.get('/:domain', (req, res) => { const { domain } = req.params; try { const domainPath = path.join(__dirname, '../templates', domain); if (!fs.existsSync(domainPath)) { return res.status(404).json({ success: false, error: `Domaine non trouvé : ${domain}` }); } const files = fs.readdirSync(domainPath); const levels = files .filter(file => file.endsWith('.md')) .map(file => file.replace('.md', '')); res.json({ success: true, data: { domain, levels } }); } catch (error) { console.error('Erreur lors de la lecture du domaine:', error); res.status(500).json({ success: false, error: 'Erreur serveur lors de la lecture du domaine' }); } }); // GET /api/templates - Lister tous les domaines disponibles router.get('/', (req, res) => { try { const templatesPath = path.join(__dirname, '../templates'); if (!fs.existsSync(templatesPath)) { return res.json({ success: true, data: [] }); } const domains = fs.readdirSync(templatesPath, { withFileTypes: true }) .filter(dirent => dirent.isDirectory()) .map(dirent => dirent.name); // Pour chaque domaine, récupérer les niveaux disponibles const domainsWithLevels = domains.map(domain => { const domainPath = path.join(templatesPath, domain); const files = fs.readdirSync(domainPath); const levels = files .filter(file => file.endsWith('.md')) .map(file => file.replace('.md', '')); return { domain, levels }; }); res.json({ success: true, data: domainsWithLevels }); } catch (error) { console.error('Erreur lors de la lecture des templates:', error); res.status(500).json({ success: false, error: 'Erreur serveur lors de la lecture des templates' }); } }); module.exports = router;