UnisKB/ui/src/api/folder.ts

101 lines
2.3 KiB
TypeScript
Raw Normal View History

2025-06-16 11:00:46 +00:00
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'
2025-06-06 01:39:01 +00:00
2025-06-16 11:00:46 +00:00
import useStore from '@/stores'
const prefix: any = { _value: '/workspace/' }
Object.defineProperty(prefix, 'value', {
get: function () {
const { user } = useStore()
return this._value + user.getWorkspaceId()
},
})
2025-05-08 08:23:03 +00:00
/**
2025-06-04 12:41:30 +00:00
*
2025-05-08 08:23:03 +00:00
* @params
* source : APPLICATION, KNOWLEDGE, TOOL
2025-06-04 12:41:30 +00:00
* data : {name: string}
2025-05-08 08:23:03 +00:00
*/
const getFolder: (
source: string,
data?: any,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<Array<any>>> = (source, data, loading) => {
2025-06-16 11:00:46 +00:00
return get(`${prefix.value}/${source}/folder`, data, loading)
2025-05-08 08:23:03 +00:00
}
2025-06-04 12:41:30 +00:00
/**
*
* @params
* source : APPLICATION, KNOWLEDGE, TOOL
2025-06-06 01:39:01 +00:00
{
"name": "string",
"desc": "string",
"parent_id": "root"
}
2025-06-04 12:41:30 +00:00
*/
const postFolder: (
source: string,
data?: any,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<Array<any>>> = (source, data, loading) => {
2025-06-16 11:00:46 +00:00
return post(`${prefix.value}/${source}/folder`, data, loading)
2025-06-04 12:41:30 +00:00
}
2025-06-17 11:22:50 +00:00
/**
*
* @params
* folder_id
* source : APPLICATION, KNOWLEDGE, TOOL
*/
const getFolderDetail: (
folder_id: string,
source: string,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (folder_id, source, loading) => {
return get(`${prefix.value}/${source}/folder/${folder_id}`, null, loading)
}
/**
*
* @params
* folder_id: string,
* source : APPLICATION, KNOWLEDGE, TOOL
{
"name": "string",
"desc": "string",
"parent_id": "root"
}
*/
const putFolder: (
folder_id: string,
source: string,
data?: any,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (folder_id, source, data, loading) => {
return put(`${prefix.value}/${source}/folder/${folder_id}`, data, {}, loading)
}
/**
*
* @params
* folder_id
* source : APPLICATION, KNOWLEDGE, TOOL
*/
const delFolder: (
folder_id: string,
source: string,
loading?: Ref<boolean>,
) => Promise<Result<boolean>> = (folder_id, source, loading) => {
return del(`${prefix.value}/${source}/folder${folder_id}`, undefined, {}, loading)
}
2025-05-08 08:23:03 +00:00
export default {
getFolder,
2025-06-04 12:41:30 +00:00
postFolder,
2025-06-17 11:22:50 +00:00
getFolderDetail,
putFolder,
delFolder,
2025-05-08 08:23:03 +00:00
}