Files
AIclinicalresearch/backend/src/modules/admin/iit-projects/iitUserMappingRoutes.ts
HaHafeng 5db4a7064c feat(iit): Implement real-time quality control system
Summary:

- Add 4 new database tables: iit_field_metadata, iit_qc_logs, iit_record_summary, iit_qc_project_stats

- Implement pg-boss debounce mechanism in WebhookController

- Refactor QC Worker for dual output: QC logs + record summary

- Enhance HardRuleEngine to support form-based rule filtering

- Create QcService for QC data queries

- Optimize ChatService with new intents: query_enrollment, query_qc_status

- Add admin batch operations: one-click full QC + one-click full summary

- Create IIT Admin management module: project config, QC rules, user mapping

Status: Code complete, pending end-to-end testing
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-07 21:56:11 +08:00

30 lines
933 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* IIT 用户映射管理路由
*/
import { FastifyInstance } from 'fastify';
import * as controller from './iitUserMappingController.js';
export async function iitUserMappingRoutes(fastify: FastifyInstance) {
// 获取角色选项(不需要项目 ID
fastify.get('/roles', controller.getRoleOptions);
// 获取项目的用户映射列表
fastify.get('/:projectId/users', controller.listUserMappings);
// 获取用户映射统计
fastify.get('/:projectId/users/stats', controller.getUserMappingStats);
// 获取单个用户映射
fastify.get('/:projectId/users/:mappingId', controller.getUserMapping);
// 创建用户映射
fastify.post('/:projectId/users', controller.createUserMapping);
// 更新用户映射
fastify.put('/:projectId/users/:mappingId', controller.updateUserMapping);
// 删除用户映射
fastify.delete('/:projectId/users/:mappingId', controller.deleteUserMapping);
}