/* * @Author: donghao donghao@supervision.ltd * @Date: 2024-04-11 14:13:34 * @LastEditors: donghao donghao@supervision.ltd * @LastEditTime: 2024-05-06 13:55:01 * @FilePath: \general-ai-manage\mock\model.ts * @Description: mock 模型 api */ /**模型管理模块 mock */ import { mockGetGroupBaseModelListData, mockGetModelListData, mockGetModelRuntimeLibFilesListData, mockGetModelRuntimeLibListData, mockGetModelVersionListData, } from './pools/modelData'; import { successMockApiProps } from './typing'; import { fetchCurrPageByList, fetchMockSuccessFullByOther } from './utils/apiMock'; export default { // 模型列表分页 'GET /api/model/list': async (req: Request, res: Response) => { // get 使用 query 读取参数 const { pageNo, pageSize } = req.query; const resData: successMockApiProps = { ...fetchCurrPageByList({ ...mockGetModelListData, data: { ...mockGetModelListData.data, pageNo, pageSize: pageSize || 10 }, }), }; res.json(resData); }, // 模型详情 'GET /api/model/detail': async (req: Request, res: Response) => { // get 使用 query 读取参数 const { id } = req.query; let finalData = {}; mockGetModelListData.data.data.forEach((item) => { if (item.id === Number(id)) { finalData = item; // break; } }); const resData: successMockApiProps = fetchMockSuccessFullByOther({ data: finalData, }); res.json(resData); }, // 模型版本列表 'GET /api/model/versions/list': async (req: Request, res: Response) => { // get 使用 query 读取参数 const { pageNo, pageSize } = req.query; const resData: successMockApiProps = { ...fetchCurrPageByList({ ...mockGetModelVersionListData, data: { ...mockGetModelVersionListData.data, pageNo, pageSize: pageSize || 10 }, }), }; res.json(resData); }, // 模型运行库列表分页 'GET /api/model/runtimeLib/list': async (req: Request, res: Response) => { // get 使用 query 读取参数 const { pageNo, pageSize } = req.query; const resData: successMockApiProps = { ...fetchCurrPageByList({ ...mockGetModelRuntimeLibListData, data: { ...mockGetModelRuntimeLibListData.data, pageNo, pageSize: pageSize || 10 }, }), }; res.json(resData); }, // 模型运行库文件列表 'GET /api/model/runtimeLib/filesList': async (req: Request, res: Response) => { const resData: successMockApiProps = fetchMockSuccessFullByOther( mockGetModelRuntimeLibFilesListData, ); res.json(resData); }, // 节点下基础模型列表 'GET /api/model/groupBaseModel/list': async (req: Request, res: Response) => { const resData: successMockApiProps = fetchMockSuccessFullByOther(mockGetGroupBaseModelListData); res.json(resData); }, };