CentralBackend/routes/putRoutes.js

28 lines
1.3 KiB
JavaScript

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;