Update: update list dir add lastFileName params

This commit is contained in:
dukai 2025-05-28 14:51:12 +08:00
parent 2b468c79a9
commit 7b4f4b389d
2 changed files with 5 additions and 5 deletions

View File

@ -62,7 +62,7 @@ func (s *Service) HandleListDirectory(
limit := req.QueryInt("limit")
newPath := utils.NormalizePath(path)
rawEntries, moreAvailable, err := s.FileSystemManager.ListDirectoryEntries(
rawEntries, moreAvailable, lastFileName, err := s.FileSystemManager.ListDirectoryEntries(
context.Background(),
utils.FullPath(newPath),
startFileName,
@ -92,7 +92,7 @@ func (s *Service) HandleListDirectory(
}
}
result.Entries = entries
result.LastFileName = entries[len(entries)-1].Name
result.LastFileName = lastFileName
}
return resp.OK(result).JSON()

View File

@ -88,11 +88,11 @@ func (f *FileSystemManager) MakeDirectory(ctx context.Context, path utils.FullPa
return f.meta.InsertEntry(ctx, entry)
}
func (f *FileSystemManager) ListDirectoryEntries(ctx context.Context, p utils.FullPath, startFileName string, inclusive bool, limit int64) (entries []*utils.Entry, hasMore bool, err error) {
func (f *FileSystemManager) ListDirectoryEntries(ctx context.Context, p utils.FullPath, startFileName string, inclusive bool, limit int64) (entries []*utils.Entry, hasMore bool, lastFileName string, err error) {
f.RLock()
defer f.RUnlock()
_, err = f.StreamListDirectoryEntries(ctx, p, startFileName, inclusive, limit+1, func(entry *utils.Entry) bool {
lastFileName, err = f.StreamListDirectoryEntries(ctx, p, startFileName, inclusive, limit+1, func(entry *utils.Entry) bool {
entries = append(entries, entry)
return true
})
@ -102,7 +102,7 @@ func (f *FileSystemManager) ListDirectoryEntries(ctx context.Context, p utils.Fu
entries = entries[:limit]
}
return entries, hasMore, err
return entries, hasMore, lastFileName, err
}
func (f *FileSystemManager) StreamListDirectoryEntries(ctx context.Context, p utils.FullPath, startFileName string, inclusive bool, limit int64, eachEntryFunc meta.ListEachEntryFunc) (lastFileName string, err error) {