This commit is contained in:
Mukhtar Akere
2025-04-22 21:40:39 +01:00
parent 3cc8ad3cdc
commit 1a4db69b20
2 changed files with 6 additions and 2 deletions

View File

@@ -222,12 +222,14 @@ func (c *Cache) load() (map[string]*CachedTorrent, error) {
isComplete := true
if len(ct.Files) != 0 {
// Check if all files are valid, if not, delete the file.json and remove from cache.
fs := make(map[string]types.File, len(ct.Files))
for _, f := range ct.Files {
f.TorrentId = ct.Id
if f.Link == "" {
isComplete = false
break
}
f.TorrentId = ct.Id
fs[f.Name] = f
}
if isComplete {
@@ -237,6 +239,7 @@ func (c *Cache) load() (map[string]*CachedTorrent, error) {
}
ct.IsComplete = true
ct.Name = path.Clean(ct.Name)
ct.Files = fs
results.Store(ct.Id, &ct)
}
}

View File

@@ -2,6 +2,7 @@ package webdav
import (
"bytes"
"cmp"
"context"
"fmt"
"github.com/rs/zerolog"
@@ -185,7 +186,7 @@ func (h *Handler) OpenFile(ctx context.Context, name string, flag int, perm os.F
if file, ok := cachedTorrent.Files[filename]; ok {
return &File{
cache: h.cache,
torrentId: file.TorrentId,
torrentId: cmp.Or(file.TorrentId, cachedTorrent.Id),
fileId: file.Id,
isDir: false,
name: file.Name,