diff --git a/ui/src/api/API_README.md b/ui/src/api/API_README.md index 89463c42df9..d52e27ce63e 100644 --- a/ui/src/api/API_README.md +++ b/ui/src/api/API_README.md @@ -755,6 +755,11 @@ Web 知识库详情及更新响应的顶层 `doc_strategy` 使用 `DocumentStrat `setting/scheduled-sync/` 页面调用设置查询、保存和日志分页接口;保存返回的规范化配置用于回填。 +四个知识库范围分别在自己的 `sync.ts` 中维护接口,由 `views/knowledge-detail/context.ts` +按资源范围装配为 `resourceApi.sync`。Workspace、System 资源管理、System 共享资源提供查询、保存及日志分页; +Workspace 共享版本只提供设置查询和日志分页。定时同步设置页通过 `useKnowledgeSettingContext()` +取得可管理范围的 API,不回退其他范围,也不为只读范围补写接口。 + `workspace/knowledge/sync.ts` 提供 `getKnowledgeSyncSetting`、`putKnowledgeSyncSetting`, 分别通过 GET、PUT `//sync_setting` 查询和保存 Web、飞书及工作流知识库同步设置。 `KnowledgeSyncSetting` 定义在 `types/knowledge-sync.ts`,包含 `enabled`、`schedule_type`、 diff --git a/ui/src/api/admin/system/resource-management/knowledge/sync.ts b/ui/src/api/admin/system/resource-management/knowledge/sync.ts new file mode 100644 index 00000000000..1ce00d52f2c --- /dev/null +++ b/ui/src/api/admin/system/resource-management/knowledge/sync.ts @@ -0,0 +1,16 @@ +import { get, put } from '@/api/admin/core/request' +import type { ParamsPage, ResponsePage } from '@/api/admin/core/types' +import type { KnowledgeSyncLog, KnowledgeSyncSetting } from '@/api/types' +const getPrefix = (knowledgeId: string) => `/system/resource/knowledge/${knowledgeId}` +/** 获取知识库定时同步设置。 */ +const getKnowledgeSyncSetting = (knowledgeId: string) => get(`${getPrefix(knowledgeId)}/sync_setting`) + +/** 保存知识库定时同步设置。 */ +const putKnowledgeSyncSetting = (knowledgeId: string, setting: KnowledgeSyncSetting) => + put(`${getPrefix(knowledgeId)}/sync_setting`, setting) + +/** 获取知识库同步日志分页。 */ +const getKnowledgeSyncLogPage = (knowledgeId: string, page: ParamsPage) => + get>(`${getPrefix(knowledgeId)}/sync_log/${page.currentPage}/${page.pageSize}`) + +export default { getKnowledgeSyncSetting, putKnowledgeSyncSetting, getKnowledgeSyncLogPage } diff --git a/ui/src/api/admin/system/shared-resources/knowledge/sync.ts b/ui/src/api/admin/system/shared-resources/knowledge/sync.ts new file mode 100644 index 00000000000..ca02dcbfc50 --- /dev/null +++ b/ui/src/api/admin/system/shared-resources/knowledge/sync.ts @@ -0,0 +1,18 @@ +import { get, put } from '@/api/admin/core/request' +import type { ParamsPage, ResponsePage } from '@/api/admin/core/types' +import type { KnowledgeSyncLog, KnowledgeSyncSetting } from '@/api/types' + +const getPrefix = (knowledgeId: string) => `/system/shared/knowledge/${knowledgeId}` + +/** 获取知识库定时同步设置。 */ +const getKnowledgeSyncSetting = (knowledgeId: string) => get(`${getPrefix(knowledgeId)}/sync_setting`) + +/** 保存知识库定时同步设置。 */ +const putKnowledgeSyncSetting = (knowledgeId: string, setting: KnowledgeSyncSetting) => + put(`${getPrefix(knowledgeId)}/sync_setting`, setting) + +/** 获取知识库同步日志分页。 */ +const getKnowledgeSyncLogPage = (knowledgeId: string, page: ParamsPage) => + get>(`${getPrefix(knowledgeId)}/sync_log/${page.currentPage}/${page.pageSize}`) + +export default { getKnowledgeSyncSetting, putKnowledgeSyncSetting, getKnowledgeSyncLogPage } diff --git a/ui/src/api/admin/workspace/shared/knowledge/sync.ts b/ui/src/api/admin/workspace/shared/knowledge/sync.ts new file mode 100644 index 00000000000..f50e6016035 --- /dev/null +++ b/ui/src/api/admin/workspace/shared/knowledge/sync.ts @@ -0,0 +1,15 @@ +import { get } from '../../../core/request' +import type { ParamsPage, ResponsePage } from '../../../core/types' +import type { KnowledgeSyncLog, KnowledgeSyncSetting } from '@/api/types' +import { getWorkspaceId } from '@/utils/resource-context' + +const getPrefix = (knowledgeId: string) => `/system/shared/workspace/${getWorkspaceId()}/knowledge/${knowledgeId}` + +/** 获取知识库定时同步设置。 */ +const getKnowledgeSyncSetting = (knowledgeId: string) => get(`${getPrefix(knowledgeId)}/sync_setting`) + +/** 获取知识库同步日志分页。 */ +const getKnowledgeSyncLogPage = (knowledgeId: string, page: ParamsPage) => + get>(`${getPrefix(knowledgeId)}/sync_log/${page.currentPage}/${page.pageSize}`) + +export default { getKnowledgeSyncSetting, getKnowledgeSyncLogPage }