39 lines
1.7 KiB
JavaScript
39 lines
1.7 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 CompanyStampController = require('../controller/companyStamp/CompanyStampController');
|
|
const CoffeeController = require('../controller/admin/CoffeeController');
|
|
const AffiliateController = require('../controller/affiliate/AffiliateController');
|
|
|
|
// Helper middlewares for company-stamp
|
|
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();
|
|
}
|
|
function forceCompanyForAdmin(req, res, next) {
|
|
if (req.user && ['admin','super_admin'].includes(req.user.role) && req.user.user_type !== 'company') {
|
|
req.user.user_type = 'company';
|
|
}
|
|
next();
|
|
}
|
|
|
|
// DELETE /admin/user/:id (moved from routes/admin.js)
|
|
router.delete('/admin/user/:id', authMiddleware, AdminUserController.deleteUser);
|
|
|
|
// DELETE /document-templates/:id (moved from routes/documentTemplates.js)
|
|
router.delete('/document-templates/:id', authMiddleware, DocumentTemplateController.deleteTemplate);
|
|
|
|
// Company-stamp DELETE
|
|
router.delete('/company-stamps/:id', authMiddleware, adminOnly, forceCompanyForAdmin, CompanyStampController.delete);
|
|
// Admin: delete coffee product
|
|
router.delete('/admin/coffee/:id', authMiddleware, adminOnly, CoffeeController.remove);
|
|
// Admin: delete affiliate
|
|
router.delete('/admin/affiliates/:id', authMiddleware, adminOnly, AffiliateController.delete);
|
|
|
|
module.exports = router;
|