- number-поля теперь рендерятся как text + inputMode=numeric, чтобы браузер не округлял значения через input type=number - пробелы при вставке в number-поля удаляются - бэкенд нормализует значения number-полей в строку перед сохранением - добавлен хелпер normalizeFieldValueForStorage Closes: искажение расчётного счёта и других длинных числовых полей
29 lines
1.2 KiB
TypeScript
29 lines
1.2 KiB
TypeScript
import { Router } from "express";
|
|
import { authenticateToken } 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
|
|
router.use('/api/users', authenticateToken, tenantIsolation);
|
|
router.use('/api/user-statuses', authenticateToken, tenantIsolation);
|
|
router.use('/api/organizations', authenticateToken, tenantIsolation);
|
|
router.use('/api/forms', authenticateToken, tenantIsolation);
|
|
router.use('/api/tasks', authenticateToken, tenantIsolation);
|
|
|
|
// Register domain route handlers
|
|
registerUserRoutes(router);
|
|
registerFormRoutes(router);
|
|
registerTaskCrudRoutes(router);
|
|
registerTaskTransitionRoutes(router);
|
|
registerTaskFieldRoutes(router);
|
|
registerTaskRoleRoutes(router);
|
|
|
|
export default router;
|