const express = require('express'); const router = express.Router(); const authMiddleware = require('../middleware/authMiddleware'); const AdminUserController = require('../controller/admin/AdminUserController'); const DocumentTemplateController = require('../controller/documentTemplate/DocumentTemplateController'); const CoffeeController = require('../controller/admin/CoffeeController'); const multer = require('multer'); const upload = multer({ storage: multer.memoryStorage() }); // Helper middleware for admin-only routes (keeps consistency with other route files) function adminOnly(req, res, next) { if (!req.user || !['admin','super_admin'].includes(req.user.role)) { return res.status(403).json({ error: 'Admin role required' }); } next(); } // PUT /admin/users/:id/permissions (moved from routes/admin.js) router.put('/admin/users/:id/permissions', authMiddleware, AdminUserController.updateUserPermissions); // PUT /document-templates/:id (moved from routes/documentTemplates.js) router.put('/document-templates/:id', authMiddleware, upload.single('file'), DocumentTemplateController.updateTemplate); // Admin: update coffee product (supports picture file replacement) router.put('/admin/coffee/:id', authMiddleware, adminOnly, upload.single('picture'), CoffeeController.update); module.exports = router;