'use strict'; const os = require('os'); const multer = require('@koa/multer'); const plagiarismCheck = require('../controllers/plagiarismCheck'); const upload = multer({ dest: os.tmpdir(), limits: { files: 5, fileSize: 50 * 1024 * 1024, }, }); module.exports = function (app, router, opts) { const { middlewares: { auth, resolveExternalUserId } } = app; const taskMiddlewares = [auth, resolveExternalUserId]; router.post('/plagiarism-check/tasks', ...taskMiddlewares, upload.array('files', 5), plagiarismCheck.createTask, { content: '创建文档查重解析任务', visible: true }); router.get('/plagiarism-check/tasks/:taskId', ...taskMiddlewares, plagiarismCheck.getTaskDetail, { content: '获取文档查重任务详情', visible: true }); router.put('/plagiarism-check/tasks/:taskId/threshold', ...taskMiddlewares, plagiarismCheck.updateTaskThreshold, { content: '修改文档查重任务阈值', visible: true }); router.get('/plagiarism-check/tasks/:taskId/files/:fileId/blocks', ...taskMiddlewares, plagiarismCheck.getFileBlocks, { content: '获取文档解析块', visible: true }); router.put('/plagiarism-check/tasks/:taskId/files/:fileId/blocks/:blockId', ...taskMiddlewares, plagiarismCheck.updateFileBlock, { content: '保存文档解析块编辑内容', visible: true }); router.post('/plagiarism-check/tasks/:taskId/files/:fileId/blocks/:blockId/deduplicate', ...taskMiddlewares, plagiarismCheck.deduplicateFileBlock, { content: '调用LLM对文档解析块降重', visible: true }); router.delete('/plagiarism-check/tasks/:taskId/files/:fileId/blocks/:blockId', ...taskMiddlewares, plagiarismCheck.deleteFileBlock, { content: '删除文档解析块', visible: true }); router.get('/plagiarism-check/tasks/:taskId/files/:fileId/export-docx', ...taskMiddlewares, plagiarismCheck.exportTaskFileDocx, { content: '导出文档查重重建版Word', visible: true }); router.get('/plagiarism-check/tasks/:taskId/matches', ...taskMiddlewares, plagiarismCheck.getTaskMatches, { content: '获取文档查重匹配结果', visible: true }); router.get('/plagiarism-check/tasks/:taskId/result', ...taskMiddlewares, plagiarismCheck.getTaskResult, { content: '获取文档查重汇总结果', visible: true }); router.post('/plagiarism-check/tasks/:taskId/check', ...taskMiddlewares, plagiarismCheck.rerunTaskCheck, { content: '重新执行文档查重', visible: true }); router.get('/plagiarism-check/doc-types', plagiarismCheck.getDocTypes, { content: '获取文档查重类型', visible: true }); router.post('/plagiarism-check/doc-types', plagiarismCheck.createDocType, { content: '创建文档查重类型', visible: true }); router.put('/plagiarism-check/doc-types/:docTypeId', plagiarismCheck.updateDocType, { content: '更新文档查重类型', visible: true }); router.delete('/plagiarism-check/doc-types/:docTypeId', plagiarismCheck.deleteDocType, { content: '删除文档查重类型', visible: true }); };