Files
IT-Nexus/backend/src/routes/patch.routes.js

35 lines
1.5 KiB
JavaScript
Raw Normal View History

2026-06-01 20:49:07 +02:00
const express = require('express');
const router = express.Router();
const { authenticateToken } = require('../middleware/auth');
const { requireAdmin } = require('../middleware/roleCheck');
const ctrl = require('../controllers/patch.controller');
// Agent-Callback — kein JWT, nur X-Agent-Key
router.post('/commands/result', ctrl.reportCommandResult);
router.use(authenticateToken);
router.get('/overview', ctrl.getOverview);
router.get('/groups', ctrl.getGroups);
router.post('/groups', requireAdmin, ctrl.createGroup);
router.put('/groups/:id', requireAdmin, ctrl.updateGroup);
router.delete('/groups/:id', requireAdmin, ctrl.deleteGroup);
router.post('/policies', requireAdmin, ctrl.upsertPolicy);
router.delete('/policies/:id', requireAdmin, ctrl.deletePolicy);
router.post('/assign', requireAdmin, ctrl.assignAgent);
router.post('/groups/:id/release', requireAdmin, ctrl.releaseVersionToGroup);
router.get('/commands', ctrl.getCommands);
router.post('/commands/trigger', requireAdmin, ctrl.triggerCommand);
router.post('/commands/trigger-group', requireAdmin, ctrl.triggerGroupCommand);
// (result route is before authenticateToken above)
// Remote Shell
router.post('/shell/:agentId', requireAdmin, ctrl.triggerShell);
router.get('/shell/:agentId/result/:cmdId', requireAdmin, ctrl.getShellResult);
router.get('/shell/:agentId/history', requireAdmin, ctrl.getShellHistory);
2026-06-01 20:49:07 +02:00
module.exports = router;