CentralBackend/routes/patchRoutes.js

39 lines
1.8 KiB
JavaScript

const express = require('express');
const router = express.Router();
const authMiddleware = require('../middleware/authMiddleware');
const DocumentTemplateController = require('../controller/documentTemplate/DocumentTemplateController');
const CompanyStampController = require('../controller/companyStamp/CompanyStampController'); // <-- added
const AdminUserController = require('../controller/admin/AdminUserController');
// 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();
}
// PATCH /document-templates/:id/state (existing)
router.patch('/document-templates/:id/state', authMiddleware, DocumentTemplateController.updateTemplateState);
// Company-stamp PATCH (activate)
router.patch('/company-stamps/:id/activate', authMiddleware, adminOnly, forceCompanyForAdmin, CompanyStampController.activate);
// Admin user management PATCH routes
router.patch('/admin/archive-user/:id', authMiddleware, adminOnly, AdminUserController.archiveUser);
router.patch('/admin/unarchive-user/:id', authMiddleware, adminOnly, AdminUserController.unarchiveUser);
router.patch('/admin/update-verification/:id', authMiddleware, adminOnly, AdminUserController.updateUserVerification);
router.patch('/admin/update-user-profile/:id', authMiddleware, adminOnly, AdminUserController.updateUserProfile);
router.patch('/admin/update-user-status/:id', authMiddleware, adminOnly, AdminUserController.updateUserStatus);
// Add other PATCH routes here as needed
module.exports = router;