Files
IT-Nexus/backend/src/routes/patch.routes.js
Simon Grüssing c23091fa6e Add: Agent v2.1.2, WebSocket Live Shell, WebRTC Remote Desktop (Beta), Announcement Push
- Agent v2.1.2: WebSocket ShellService, ACK nach WS-Ankündigungen, shown_announcements Fix
- Backend: shellServer.js mit WebSocket-Server (Shell + Announcement Push + RTC Signaling)
- Backend: patch.controller.js Fix (command_id=0 Falsy-Bug beim Auto-Update)
- Frontend: Remote Desktop Tab (WebRTC Beta) in AgentDetailPage für super_admin/admin
- Frontend: PatchManagementPage auf v2.1.2 aktualisiert
- WPF Notification: AllowsTransparency=False + kein DropShadowEffect (Dispatcher-Crash Fix)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 13:31:11 +02:00

35 lines
1.5 KiB
JavaScript

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);
module.exports = router;