Fix get datasets owner retrieve the whole dataset (#17370)

This commit is contained in:
Wang Qi
2026-07-27 10:24:13 +08:00
committed by GitHub
parent f53518c110
commit 53afc32349
12 changed files with 137 additions and 4 deletions

View File

@@ -8,6 +8,7 @@ import {
IArtifactPage,
IArtifactTopic,
IDataset,
IDatasetFilter,
IDatasetListResult,
IKnowledgeGraph,
INextTestingResult,
@@ -33,6 +34,7 @@ import kbService, {
getWikiCommit,
listArtifactTopics,
listArtifacts,
datasetFilter,
listDataset,
listTag,
listWikiCommits,
@@ -65,6 +67,7 @@ import { useSetPaginationParams } from './route-hook';
export const enum KnowledgeApiAction {
FetchKnowledgeListByPage = 'fetchKnowledgeListByPage',
FetchDatasetFilter = 'fetchDatasetFilter',
CreateKnowledge = 'createKnowledge',
DeleteKnowledge = 'deleteKnowledge',
SaveKnowledge = 'saveKnowledge',
@@ -209,6 +212,24 @@ export const useFetchNextKnowledgeListByPage = () => {
};
};
export const useGetDatasetFilter = (): { filter: IDatasetFilter } => {
const { data } = useQuery({
queryKey: [KnowledgeApiAction.FetchDatasetFilter],
queryFn: async () => {
const { data } = await datasetFilter();
if (data.code === 0) {
return data.data;
}
},
});
return {
filter: data?.filter || {
owner: [],
},
};
};
export const useCreateKnowledge = () => {
const queryClient = useQueryClient();
const {

View File

@@ -50,6 +50,14 @@ export interface IDataset {
connectors: IConnector[];
}
export type IDatasetFilter = {
owner: Array<{
id: string;
label: string;
count: number;
}>;
};
interface Parserconfig {
auto_keywords: number;
auto_questions: number;

View File

@@ -1,14 +1,13 @@
import { FilterCollection } from '@/components/list-filter-bar/interface';
import { useFetchAllKnowledgeList } from '@/hooks/use-knowledge-request';
import { buildOwnersFilter } from '@/utils/list-filter-util';
import { useGetDatasetFilter } from '@/hooks/use-knowledge-request';
import { useTranslation } from 'react-i18next';
export function useSelectOwners() {
const { list } = useFetchAllKnowledgeList();
const { filter } = useGetDatasetFilter();
const { t } = useTranslation();
const filters: FilterCollection[] = [
buildOwnersFilter(list, undefined, t('common.owner')),
{ field: 'owner', list: filter.owner, label: t('common.owner') },
];
return filters;

View File

@@ -267,6 +267,8 @@ export function deleteKnowledgeGraph(knowledgeId: string) {
export const listDataset = (params?: IFetchKnowledgeListRequestParams) =>
request.get(api.kbList, { params });
export const datasetFilter = () => request.get(api.datasetFilter);
export const updateKb = (datasetId: string, data: Record<string, any>) =>
request.put(api.updateKb(datasetId), { data });

View File

@@ -143,6 +143,7 @@ export default {
checkEmbedding: (datasetId: string) =>
`${restAPIv1}/datasets/${datasetId}/embedding/check`,
kbList: `${restAPIv1}/datasets`,
datasetFilter: `${restAPIv1}/datasets?type=filter`,
createKb: `${restAPIv1}/datasets`,
updateKb: (datasetId: string) => `${restAPIv1}/datasets/${datasetId}`,
rmKb: `${restAPIv1}/datasets`,