feat: workstations API + agent WebSocket — паркинг агентов и управление оборудованием

- migration 041: таблицы workstations, agent_pair_codes, workstation_devices
- routes/workstations: CRUD рабочих мест, генерация 6-значного кода, CRUD устройств
- POST /api/agent/pair: сопряжение агента по коду → JWT токен
- agent-ws.ts: WebSocket /ws/agent для постоянного соединения агентов,
  heartbeat 30s, онлайн/оффлайн статус в БД

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-26 18:27:24 +03:00
parent be58b16365
commit 439be33c55
4 changed files with 432 additions and 0 deletions

View File

@@ -33,6 +33,8 @@ import notificationsRoutes from './routes/notifications'
import scheduleRoutes from './routes/schedule'
import loyaltyRoutes from './routes/loyalty'
import chatRoutes from './routes/chat'
import workstationRoutes from './routes/workstations'
import { setupAgentWsRoute } from './agent-ws'
import { startJobs } from './jobs'
export async function buildApp() {
@@ -111,6 +113,8 @@ export async function buildApp() {
await fastify.register(scheduleRoutes)
await fastify.register(loyaltyRoutes)
await fastify.register(chatRoutes)
await fastify.register(workstationRoutes)
setupAgentWsRoute(fastify)
startJobs()