Feat: Create empty document. #3221 (#7343)

### What problem does this PR solve?

Feat: Create empty document. #3221

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
balibabu
2025-04-27 16:12:10 +08:00
committed by GitHub
parent bdebd1b2e3
commit 5043143bc5
10 changed files with 137 additions and 62 deletions

View File

@ -16,7 +16,10 @@ import {
useGetPaginationWithRouter,
useHandleSearchChange,
} from './logic-hooks';
import { useGetKnowledgeSearchParams } from './route-hook';
import {
useGetKnowledgeSearchParams,
useSetPaginationParams,
} from './route-hook';
export const enum DocumentApiAction {
UploadDocument = 'uploadDocument',
@ -28,6 +31,7 @@ export const enum DocumentApiAction {
SetDocumentParser = 'setDocumentParser',
SetDocumentMeta = 'setDocumentMeta',
FetchAllDocumentList = 'fetchAllDocumentList',
CreateDocument = 'createDocument',
}
export const useUploadNextDocument = () => {
@ -363,3 +367,37 @@ export const useSetDocumentMeta = () => {
return { setDocumentMeta: mutateAsync, data, loading };
};
export const useCreateDocument = () => {
const { id } = useParams();
const { setPaginationParams, page } = useSetPaginationParams();
const queryClient = useQueryClient();
const {
data,
isPending: loading,
mutateAsync,
} = useMutation({
mutationKey: [DocumentApiAction.CreateDocument],
mutationFn: async (name: string) => {
const { data } = await kbService.document_create({
name,
kb_id: id,
});
if (data.code === 0) {
if (page === 1) {
queryClient.invalidateQueries({
queryKey: [DocumentApiAction.FetchDocumentList],
});
} else {
setPaginationParams(); // fetch document list
}
message.success(i18n.t('message.created'));
}
return data.code;
},
});
return { createDocument: mutateAsync, loading, data };
};