feat: update file deletion logic to accept multiple file IDs (#53)

* feat: update file deletion logic to accept multiple file IDs
This commit is contained in:
Dallas98
2025-11-03 15:00:37 +08:00
committed by GitHub
parent 08bd4eca5c
commit dc30b0d892
7 changed files with 20 additions and 11 deletions

View File

@@ -108,7 +108,8 @@ public class KnowledgeBaseService {
return PagedResponse.of(page.getRecords(), page.getCurrent(), page.getTotal(), page.getPages());
}
public void deleteFile(String knowledgeBaseId, DeleteFilesReq request) {
public void deleteFiles(String knowledgeBaseId, DeleteFilesReq request) {
ragFileRepository.removeByIds(request.getIds());
}
public PagedResponse<RagChunk> getChunks(String knowledgeBaseId, String ragFileId, PagingQuery pagingQuery) {

View File

@@ -113,7 +113,7 @@ public class KnowledgeBaseController {
@DeleteMapping("/{knowledgeBaseId}/files")
public void deleteFile(@PathVariable("knowledgeBaseId") String knowledgeBaseId,
@RequestBody DeleteFilesReq request) {
knowledgeBaseService.deleteFile(knowledgeBaseId, request);
knowledgeBaseService.deleteFiles(knowledgeBaseId, request);
}
/**

View File

@@ -1,5 +1,8 @@
package com.datamate.rag.indexer.interfaces.dto;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
@@ -8,6 +11,11 @@ import java.util.List;
* @author dallas
* @since 2025-10-29
*/
@Setter
@Getter
public class DeleteFilesReq {
private List<String> fileIds;
/**
* Rag文件表主键ID列表
*/
private List<String> ids;
}

View File

@@ -55,7 +55,9 @@ const KnowledgeBaseDetailPage: React.FC = () => {
// File table logic
const handleDeleteFile = async (file: KBFile) => {
try {
await deleteKnowledgeBaseFileByIdUsingDelete(knowledgeBase.id, file.id);
await deleteKnowledgeBaseFileByIdUsingDelete(knowledgeBase.id, {
ids: [file.id]
});
message.success("文件已删除");
fetchFiles();
} catch (error) {

View File

@@ -44,9 +44,6 @@ export function queryKnowledgeBaseFilesByIdUsingGet(
}
// 删除知识生成文件
export function deleteKnowledgeBaseFileByIdUsingDelete(
baseId: string,
fileId: string
) {
return del(`/api/knowledge-base/${baseId}/files/${fileId}`);
export function deleteKnowledgeBaseFileByIdUsingDelete(baseId: string, data: any) {
return del(`/api/knowledge-base/${baseId}/files`, data);
}

View File

@@ -11,7 +11,7 @@ export enum KBType {
}
export interface KnowledgeBaseItem {
id: number;
id: string;
name: string;
description: string;
type: KBType;
@@ -22,7 +22,7 @@ export interface KnowledgeBaseItem {
}
export interface KBFile {
id: number;
id: string;
fileName: string;
name?: string;
createdAt: string;

View File

@@ -366,6 +366,7 @@ class Request {
},
credentials: "include",
mode: "cors",
body: params ? JSON.stringify(params) : undefined,
...options,
};