28 lines
1.3 KiB
JavaScript
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;
|