- MCP: getActor (владелец ключа + бот), аудит changedByName=бот/label ключа, botId, metadata.source='mcp'; аудит для update_task/update_task_status - sendTaskMessage: botId (messageType 'bot'), починен путь isBotToken без req.user - authenticateTokenOrApiKey: JWT или X-Api-Key с белым списком endpoint'ов (/api/upload, messages, field-values, create task), проверки скоупов, аудит source='api' - Лимиты файлов через env: UPLOAD_IMAGE_MAX_MB=25, UPLOAD_DOC_MAX_MB=100, UPLOAD_MAX_MB=100 - MCP upload-инструменты: параметр fileUrl для привязки уже загруженного файла; новый инструмент get_api_guide
31 lines
1.4 KiB
TypeScript
31 lines
1.4 KiB
TypeScript
import { Router } from "express";
|
|
import { authenticateToken, authenticateTokenOrApiKey } from "../middleware/auth.middleware";
|
|
import { tenantIsolation } from "../middleware/tenant.middleware";
|
|
import { registerUserRoutes } from "./user.routes";
|
|
import { registerFormRoutes } from "./form.routes";
|
|
import { registerTaskCrudRoutes } from "./task-crud.routes";
|
|
import { registerTaskTransitionRoutes } from "./task-transitions.routes";
|
|
import { registerTaskFieldRoutes } from "./task-fields.routes";
|
|
import { registerTaskRoleRoutes } from "./task-roles.routes";
|
|
|
|
const router = Router();
|
|
|
|
// Global middleware for all protected route prefixes
|
|
// Для /api/tasks и /api/forms — authenticateTokenOrApiKey: JWT-путь идентичен,
|
|
// API-ключ допускается только на endpoint'ы из белого списка (см. auth.middleware).
|
|
router.use('/api/users', authenticateToken, tenantIsolation);
|
|
router.use('/api/user-statuses', authenticateToken, tenantIsolation);
|
|
router.use('/api/organizations', authenticateToken, tenantIsolation);
|
|
router.use('/api/forms', authenticateTokenOrApiKey, tenantIsolation);
|
|
router.use('/api/tasks', authenticateTokenOrApiKey, tenantIsolation);
|
|
|
|
// Register domain route handlers
|
|
registerUserRoutes(router);
|
|
registerFormRoutes(router);
|
|
registerTaskCrudRoutes(router);
|
|
registerTaskTransitionRoutes(router);
|
|
registerTaskFieldRoutes(router);
|
|
registerTaskRoleRoutes(router);
|
|
|
|
export default router;
|