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()); 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) { public PagedResponse<RagChunk> getChunks(String knowledgeBaseId, String ragFileId, PagingQuery pagingQuery) {

View File

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

View File

@@ -1,5 +1,8 @@
package com.datamate.rag.indexer.interfaces.dto; package com.datamate.rag.indexer.interfaces.dto;
import lombok.Getter;
import lombok.Setter;
import java.util.List; import java.util.List;
/** /**
@@ -8,6 +11,11 @@ import java.util.List;
* @author dallas * @author dallas
* @since 2025-10-29 * @since 2025-10-29
*/ */
@Setter
@Getter
public class DeleteFilesReq { 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 // File table logic
const handleDeleteFile = async (file: KBFile) => { const handleDeleteFile = async (file: KBFile) => {
try { try {
await deleteKnowledgeBaseFileByIdUsingDelete(knowledgeBase.id, file.id); await deleteKnowledgeBaseFileByIdUsingDelete(knowledgeBase.id, {
ids: [file.id]
});
message.success("文件已删除"); message.success("文件已删除");
fetchFiles(); fetchFiles();
} catch (error) { } catch (error) {

View File

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

View File

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

View File

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