import {Result} from '@/request/Result' import {get, post, del, put} from '@/request/index' import {type Ref} from 'vue' import type {pageRequest} from '@/api/type/common' import type {toolData} from '@/api/type/tool' const prefix = '/workspace/' + localStorage.getItem('workspace_id') /** * 获得工具文件夹列表 * @params 参数 {folder_id: string} */ const getToolByFolder: ( data?: any, loading?: Ref, ) => Promise>> = (data, loading) => { return get(`${prefix}/tool`, data, loading) } /** * 工具列表 * @param 参数 * param { "folder_id": "string", "name": "string", "tool_type": "string", } */ const getToolList: ( page: pageRequest, param?: any, loading?: Ref, ) => Promise> = (page, param, loading) => { return get( `${prefix}/tool/${page.current_page}/${page.page_size}`, param, loading, ) } /** * 创建工具 * @param 参数 */ const postTool: ( data: toolData, loading?: Ref, ) => Promise> = (data, loading) => { return post(`${prefix}/tool`, data, undefined, loading) } /** * 修改工具 * @param 参数 */ const putTool: ( tool_id: string, data: toolData, loading?: Ref, ) => Promise> = (tool_id, data, loading) => { return put(`${prefix}/tool/${tool_id}`, data, undefined, loading) } /** * 获取工具详情 * @param tool_id 工具id * @param loading 加载器 * @returns 函数详情 */ const getToolById: ( tool_id: String, loading?: Ref, ) => Promise> = (tool_id, loading) => { return get(`${prefix}/tool/${tool_id}`, undefined, loading) } const postPylint: ( code: string, loading?: Ref, ) => Promise> = (code, loading) => { return post(`${prefix}/tool/pylint`, {code}, {}, loading) } /** * 调试工具 * @param 参数 */ // const postToolDebug: (data: any, loading?: Ref) => Promise> = ( // data: any, // loading // ) => { // return post(`${prefix}/debug`, data, undefined, loading) // } export default { getToolByFolder, getToolList, putTool, getToolById, postTool, postPylint }