mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-07-15 20:27:20 +08:00
Refactor: Doc batch change status (#14337)
### What problem does this PR solve? Before migration Web API: POST /v1/document/change_status After consolidation, Restful API POST /api/v1/datasets/<dataset_id>/documents/batch-update-status ### Type of change - [x] Refactoring
This commit is contained in:
@@ -16,6 +16,7 @@ import {
|
||||
import i18n from '@/locales/config';
|
||||
import { EMPTY_METADATA_FIELD } from '@/pages/dataset/dataset/use-select-filters';
|
||||
import kbService, {
|
||||
changeDocumentsStatus,
|
||||
createDocument,
|
||||
deleteDocument,
|
||||
documentFilter,
|
||||
@@ -252,15 +253,19 @@ export const useSetDocumentStatus = () => {
|
||||
mutationFn: async ({
|
||||
status,
|
||||
documentId,
|
||||
datasetId,
|
||||
}: {
|
||||
status: boolean;
|
||||
documentId: string | string[];
|
||||
datasetId: string;
|
||||
}) => {
|
||||
const ids = Array.isArray(documentId) ? documentId : [documentId];
|
||||
const { data } = await kbService.documentChangeStatus({
|
||||
const { data } = await changeDocumentsStatus({
|
||||
kb_id: datasetId,
|
||||
doc_ids: ids,
|
||||
status: Number(status),
|
||||
});
|
||||
|
||||
if (data.code === 0) {
|
||||
message.success(i18n.t('message.modified'));
|
||||
queryClient.invalidateQueries({
|
||||
|
||||
@@ -28,6 +28,7 @@ import {
|
||||
} from '@/components/ui/table';
|
||||
import { UseRowSelectionType } from '@/hooks/logic-hooks/use-row-selection';
|
||||
import { useFetchDocumentList } from '@/hooks/use-document-request';
|
||||
import { useKnowledgeBaseContext } from '@/pages/dataset/contexts/knowledge-base-context';
|
||||
import { getExtension } from '@/utils/document-util';
|
||||
import { t } from 'i18next';
|
||||
import { pick } from 'lodash';
|
||||
@@ -88,12 +89,14 @@ export function DatasetTable({
|
||||
// metaRecord,
|
||||
// } = useSaveMeta();
|
||||
const { showLog, logInfo, logVisible, hideLog } = useShowLog(documents);
|
||||
const { knowledgeBase } = useKnowledgeBaseContext();
|
||||
|
||||
const columns = useDatasetTableColumns({
|
||||
showChangeParserModal,
|
||||
showRenameModal,
|
||||
showManageMetadataModal,
|
||||
showLog,
|
||||
datasetId: knowledgeBase?.id,
|
||||
});
|
||||
|
||||
const currentPagination = useMemo(() => {
|
||||
|
||||
@@ -9,6 +9,7 @@ import {
|
||||
useSetDocumentStatus,
|
||||
} from '@/hooks/use-document-request';
|
||||
import { IDocumentInfo } from '@/interfaces/database/document';
|
||||
import { useKnowledgeBaseContext } from '@/pages/dataset/contexts/knowledge-base-context';
|
||||
import {
|
||||
LucideCircleX,
|
||||
LucideCylinder,
|
||||
@@ -34,6 +35,7 @@ export function useBulkOperateDataset({
|
||||
rowSelection,
|
||||
documents,
|
||||
);
|
||||
const { knowledgeBase } = useKnowledgeBaseContext();
|
||||
|
||||
const { runDocumentByIds } = useRunDocument();
|
||||
const { setDocumentStatus } = useSetDocumentStatus();
|
||||
@@ -85,9 +87,13 @@ export function useBulkOperateDataset({
|
||||
|
||||
const onChangeStatus = useCallback(
|
||||
(enabled: boolean) => {
|
||||
setDocumentStatus({ status: enabled, documentId: selectedRowKeys });
|
||||
setDocumentStatus({
|
||||
status: enabled,
|
||||
documentId: selectedRowKeys,
|
||||
datasetId: knowledgeBase?.id,
|
||||
});
|
||||
},
|
||||
[selectedRowKeys, setDocumentStatus],
|
||||
[selectedRowKeys, setDocumentStatus, knowledgeBase],
|
||||
);
|
||||
|
||||
const handleEnableClick = useCallback(() => {
|
||||
|
||||
@@ -26,6 +26,7 @@ type UseDatasetTableColumnsType = UseChangeDocumentParserShowType &
|
||||
UseRenameDocumentShowType & {
|
||||
showLog: (record: IDocumentInfo) => void;
|
||||
showManageMetadataModal: (config: ShowManageMetadataModalProps) => void;
|
||||
datasetId?: string;
|
||||
};
|
||||
|
||||
export function useDatasetTableColumns({
|
||||
@@ -33,6 +34,7 @@ export function useDatasetTableColumns({
|
||||
showRenameModal,
|
||||
showManageMetadataModal,
|
||||
showLog,
|
||||
datasetId,
|
||||
}: UseDatasetTableColumnsType) {
|
||||
const { t } = useTranslation('translation', {
|
||||
keyPrefix: 'knowledgeDetails',
|
||||
@@ -169,7 +171,7 @@ export function useDatasetTableColumns({
|
||||
<Switch
|
||||
checked={row.getValue('status') === '1'}
|
||||
onCheckedChange={(e) => {
|
||||
setDocumentStatus({ status: e, documentId: id });
|
||||
setDocumentStatus({ status: e, documentId: id, datasetId });
|
||||
}}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -372,6 +372,17 @@ export const updateDocumentMetaDataConfig = ({
|
||||
data: { ...data },
|
||||
});
|
||||
|
||||
export const changeDocumentsStatus = ({
|
||||
kb_id,
|
||||
doc_ids,
|
||||
status,
|
||||
}: {
|
||||
kb_id: string;
|
||||
doc_ids?: string[];
|
||||
status: number;
|
||||
}) =>
|
||||
request.post(api.documentChangeStatus(kb_id), { data: { doc_ids, status } });
|
||||
|
||||
export const listDataPipelineLogDocument = (
|
||||
datasetId: string,
|
||||
params?: Record<string, any>,
|
||||
|
||||
@@ -113,7 +113,8 @@ export default {
|
||||
// document
|
||||
getDocumentList: (datasetId: string) =>
|
||||
`${restAPIv1}/datasets/${datasetId}/documents`,
|
||||
documentChangeStatus: `${webAPI}/document/change_status`,
|
||||
documentChangeStatus: (datasetId: string) =>
|
||||
`${restAPIv1}/datasets/${datasetId}/documents/batch-update-status`,
|
||||
documentDelete: (datasetId: string) =>
|
||||
`${restAPIv1}/datasets/${datasetId}/documents`,
|
||||
documentRename: (datasetId: string, documentId: string) =>
|
||||
|
||||
Reference in New Issue
Block a user