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'); const NewsController = require('../controller/news/NewsController'); // 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); // Admin: delete news router.delete('/admin/news/:id', authMiddleware, adminOnly, NewsController.delete); module.exports = router;