UnisKB/ui/src/api/knowledge/problem.ts

122 lines
2.8 KiB
TypeScript
Raw Normal View History

2025-06-09 09:44:07 +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
const prefix = '/workspace/' + localStorage.getItem('workspace_id') + '/knowledge'
2025-05-30 06:34:24 +00:00
2025-06-09 09:44:07 +00:00
/**
*
* @param knowledge_id
* data: array[string]
*/
const postProblems: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return post(`${prefix}/${knowledge_id}/problem`, data, undefined, loading)
}
2025-05-30 06:34:24 +00:00
/**
2025-06-05 12:15:55 +00:00
*
2025-06-09 09:44:07 +00:00
* @param knowledge_id,
2025-06-06 01:39:01 +00:00
* query {
2025-06-09 10:54:13 +00:00
"content": "string",
}
2025-05-30 06:34:24 +00:00
*/
const getProblems: (
2025-06-09 09:44:07 +00:00
knowledge_id: string,
2025-05-30 06:34:24 +00:00
page: pageRequest,
param: any,
2025-06-05 12:15:55 +00:00
loading?: Ref<boolean>,
2025-06-09 09:44:07 +00:00
) => Promise<Result<any>> = (knowledge_id, page, param, loading) => {
2025-05-30 06:34:24 +00:00
return get(
2025-06-09 09:44:07 +00:00
`${prefix}/${knowledge_id}/problem/${page.current_page}/${page.page_size}`,
2025-05-30 06:34:24 +00:00
param,
2025-06-05 12:15:55 +00:00
loading,
2025-05-30 06:34:24 +00:00
)
}
/**
2025-06-09 09:44:07 +00:00
*
* @param
* knowledge_id, problem_id,
* {
"content": "string",
}
2025-05-30 06:34:24 +00:00
*/
2025-06-09 09:44:07 +00:00
const putProblems: (
knowledge_id: string,
problem_id: string,
2025-05-30 06:34:24 +00:00
data: any,
2025-06-05 12:15:55 +00:00
loading?: Ref<boolean>,
2025-06-09 09:44:07 +00:00
) => Promise<Result<any>> = (knowledge_id, problem_id, data: any, loading) => {
return put(`${prefix}/${knowledge_id}/problem/${problem_id}`, data, undefined, loading)
2025-05-30 06:34:24 +00:00
}
/**
*
2025-06-09 09:44:07 +00:00
* @param knowledge_id, problem_id,
2025-05-30 06:34:24 +00:00
*/
const delProblems: (
2025-06-09 09:44:07 +00:00
knowledge_id: string,
2025-05-30 06:34:24 +00:00
problem_id: string,
2025-06-05 12:15:55 +00:00
loading?: Ref<boolean>,
2025-06-09 09:44:07 +00:00
) => Promise<Result<boolean>> = (knowledge_id, problem_id, loading) => {
return del(`${prefix}/${knowledge_id}/problem/${problem_id}`, loading)
2025-05-30 06:34:24 +00:00
}
/**
*
* @param
2025-06-09 09:44:07 +00:00
* knowledge_id, problem_id,
2025-05-30 06:34:24 +00:00
*/
const getDetailProblems: (
2025-06-09 09:44:07 +00:00
knowledge_id: string,
2025-05-30 06:34:24 +00:00
problem_id: string,
2025-06-05 12:15:55 +00:00
loading?: Ref<boolean>,
2025-06-09 09:44:07 +00:00
) => Promise<Result<any>> = (knowledge_id, problem_id, loading) => {
return get(`${prefix}/${knowledge_id}/problem/${problem_id}/paragraph`, undefined, loading)
2025-05-30 06:34:24 +00:00
}
/**
*
2025-06-09 09:44:07 +00:00
* @param knowledge_id,
2025-05-30 06:34:24 +00:00
* {
2025-06-09 09:44:07 +00:00
"problem_id_list": "Array",
"paragraph_list": "Array",
}
2025-05-30 06:34:24 +00:00
*/
2025-06-09 09:44:07 +00:00
const putMulAssociationProblem: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
return put(`${prefix}/${knowledge_id}/problem/batch_association`, data, undefined, loading)
}
/**
*
* @param knowledge_id,
* data: array[string]
2025-06-09 10:54:13 +00:00
*/
2025-06-09 09:44:07 +00:00
const putMulProblem: (
knowledge_id: string,
2025-05-30 06:34:24 +00:00
data: any,
2025-06-05 12:15:55 +00:00
loading?: Ref<boolean>,
2025-06-09 09:44:07 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
return put(`${prefix}/${knowledge_id}/problem/batch_delete`, data, undefined, loading)
2025-05-30 06:34:24 +00:00
}
export default {
postProblems,
2025-06-09 10:54:13 +00:00
getProblems,
2025-05-30 06:34:24 +00:00
putProblems,
2025-06-09 10:54:13 +00:00
delProblems,
2025-05-30 06:34:24 +00:00
getDetailProblems,
2025-06-09 09:44:07 +00:00
putMulAssociationProblem,
2025-06-09 10:54:13 +00:00
putMulProblem,
2025-05-30 06:34:24 +00:00
}