import { Result } from '@/request/Result' import { get, put, post, del } from '@/request/index' import type { Ref } from 'vue' import type { pageRequest } from '@/api/type/common' const prefix = '/workspace' /** * 工作空间下各资源获取资源权限 * @query 参数 */ const getWorkspaceResourceAuthorization: ( workspace_id: string, target: string, resource: string, page: pageRequest, params?: any, loading?: Ref, ) => Promise> = (workspace_id, target, resource, page, params, loading) => { return get( `${prefix}/${workspace_id}/resource_user_permission/resource/${target}/resource/${resource}/${page.current_page}/${page.page_size}`, params, loading, ) } /** * 工作空间下各资源修改成员权限 * @param 参数 member_id * @param 参数 { [ { "user_id": "string", "permission": "NOT_AUTH" } ] } */ const putWorkspaceResourceAuthorization: ( workspace_id: string, target: string, resource: string, body: any, loading?: Ref, ) => Promise> = (workspace_id, target, resource, body, loading) => { return put( `${prefix}/${workspace_id}/resource_user_permission/resource/${target}/resource/${resource}`, body, {}, loading, ) } /** * 系统资源授权获取资源权限 * @query 参数 */ const getResourceAuthorization: ( workspace_id: string, user_id: string, resource: string, page: pageRequest, params?: any, loading?: Ref, ) => Promise> = (workspace_id, user_id, resource, page, params, loading) => { return get( `${prefix}/${workspace_id}/user_resource_permission/user/${user_id}/resource/${resource}/${page.current_page}/${page.page_size}`, params, loading, ) } /** * 系统资源授权修改成员权限 * @param 参数 member_id * @param 参数 { [ { "target_id": "string", "permission": "NOT_AUTH" } ] } */ const putResourceAuthorization: ( workspace_id: string, user_id: string, resource: string, body: any, loading?: Ref, ) => Promise> = (workspace_id, user_id, resource, body, loading) => { return put( `${prefix}/${workspace_id}/user_resource_permission/user/${user_id}/resource/${resource}`, body, {}, loading, ) } /** * 获取成员列表 * @query 参数 */ const getUserList: (workspace_id: string, loading?: Ref) => Promise> = ( workspace_id, loading, ) => { return get(`${prefix}/${workspace_id}/user_list`, undefined, loading) } const getUserMember: (workspace_id: string, loading?: Ref) => Promise> = ( workspace_id, loading, ) => { return get(`${prefix}/${workspace_id}/user_member`, undefined, loading) } /** * 获得系统文件夹列表 * @params 参数 * source : APPLICATION, KNOWLEDGE, TOOL * data : {name: string} */ const getSystemFolder: ( workspace_id: string, source: string, data?: any, loading?: Ref, ) => Promise>> = (workspace_id, source, data, loading) => { if (source == 'MODEL') { return Promise.resolve( Result.success([ { id: 'default', name: '根目录', desc: null, parent_id: null, children: [], }, ]), ) } return get(`${prefix}/${workspace_id}/${source}/folder`, data, loading) } export default { getResourceAuthorization, putResourceAuthorization, getUserList, getUserMember, getSystemFolder, getWorkspaceResourceAuthorization, putWorkspaceResourceAuthorization }