MCPcopy Create free account
hub / github.com/53AI/53AIHub / CleanupVectorDataForFile

Function CleanupVectorDataForFile

api/model/file.go:1796–1823  ·  view source on GitHub ↗

CleanupVectorDataForFile 清理文件的向量数据,可以被独立调用

(eid int64, fileID int64)

Source from the content-addressed store, hash-verified

1794
1795// CleanupVectorDataForFile 清理文件的向量数据,可以被独立调用
1796func CleanupVectorDataForFile(eid int64, fileID int64) error {
1797 file, err := GetFileByID(eid, fileID)
1798 if err != nil {
1799 return fmt.Errorf("获取文件信息失败: %v", err)
1800 }
1801
1802 // 仅对文件类型执行向量清理
1803 if file.Type == FILE_TYPE_DIR {
1804 log.Printf("目录类型无需清理向量数据 - EID: %d, FileID: %d", eid, fileID)
1805 return nil
1806 }
1807
1808 // 收集需要清理的向量ID
1809 vectorIDs, err := getVectorIDsForFile(eid, fileID)
1810 if err != nil {
1811 log.Printf("获取文件向量ID失败,将跳过向量清理 - EID: %d, FileID: %d, Error: %v", eid, fileID, err)
1812 return nil // 不返回错误,允许主流程继续
1813 }
1814
1815 if len(vectorIDs) == 0 {
1816 log.Printf("文件没有向量数据需要清理 - EID: %d, FileID: %d", eid, fileID)
1817 return nil
1818 }
1819
1820 // 异步清理向量数据
1821 go cleanupVectorDataAsync(eid, fileID, vectorIDs)
1822 return nil
1823}
1824
1825// SoftDeleteFile 执行软删除:目标标记主动删除,未主动删除的子级批量被动删除
1826func SoftDeleteFile(eid int64, fileID int64, userID int64) error {

Callers 1

SoftDeleteFileFunction · 0.85

Calls 5

GetFileByIDFunction · 0.85
getVectorIDsForFileFunction · 0.85
cleanupVectorDataAsyncFunction · 0.85
ErrorfMethod · 0.80
PrintfMethod · 0.80

Tested by

no test coverage detected