fixes uploads and error during of collection enumeration
This commit is contained in:
@@ -34,7 +34,7 @@ public class FileDbManager
|
|||||||
|
|
||||||
if (matchingEntries.Any(f => f.Filepath.Contains(PenumbraPrefix) && matchingEntries.Any(f => f.Filepath.Contains(CachePrefix))))
|
if (matchingEntries.Any(f => f.Filepath.Contains(PenumbraPrefix) && matchingEntries.Any(f => f.Filepath.Contains(CachePrefix))))
|
||||||
{
|
{
|
||||||
var cachedEntries = matchingEntries.Where(f => f.Filepath.Contains(CachePrefix));
|
var cachedEntries = matchingEntries.Where(f => f.Filepath.Contains(CachePrefix)).ToList();
|
||||||
DeleteFromDatabase(cachedEntries.Select(f => new FileCache(f)));
|
DeleteFromDatabase(cachedEntries.Select(f => new FileCache(f)));
|
||||||
foreach (var entry in cachedEntries)
|
foreach (var entry in cachedEntries)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Authors></Authors>
|
<Authors></Authors>
|
||||||
<Company></Company>
|
<Company></Company>
|
||||||
<Version>0.4.10</Version>
|
<Version>0.4.11</Version>
|
||||||
<Description></Description>
|
<Description></Description>
|
||||||
<Copyright></Copyright>
|
<Copyright></Copyright>
|
||||||
<PackageProjectUrl>https://github.com/Penumbra-Sync/client</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/Penumbra-Sync/client</PackageProjectUrl>
|
||||||
|
|||||||
@@ -173,13 +173,11 @@ namespace MareSynchronos.WebAPI
|
|||||||
|
|
||||||
foreach (var file in filesToUpload.Where(f => !f.IsForbidden))
|
foreach (var file in filesToUpload.Where(f => !f.IsForbidden))
|
||||||
{
|
{
|
||||||
await using var db = new FileCacheContext();
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
CurrentUploads.Add(new UploadFileTransfer(file)
|
CurrentUploads.Add(new UploadFileTransfer(file)
|
||||||
{
|
{
|
||||||
Total = new FileInfo(db.FileCaches.FirstOrDefault(f => f.Hash.ToLower() == file.Hash.ToLower())
|
Total = new FileInfo(_fileDbManager.GetFileCacheByHash(file.Hash)!.Filepath).Length
|
||||||
?.Filepath ?? string.Empty).Length
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -189,17 +187,14 @@ namespace MareSynchronos.WebAPI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await using (var db = new FileCacheContext())
|
foreach (var file in filesToUpload.Where(c => c.IsForbidden))
|
||||||
{
|
{
|
||||||
foreach (var file in filesToUpload.Where(c => c.IsForbidden))
|
if (ForbiddenTransfers.All(f => f.Hash != file.Hash))
|
||||||
{
|
{
|
||||||
if (ForbiddenTransfers.All(f => f.Hash != file.Hash))
|
ForbiddenTransfers.Add(new UploadFileTransfer(file)
|
||||||
{
|
{
|
||||||
ForbiddenTransfers.Add(new UploadFileTransfer(file)
|
LocalFile = _fileDbManager.GetFileCacheByHash(file.Hash)?.Filepath ?? string.Empty
|
||||||
{
|
});
|
||||||
LocalFile = db.FileCaches.FirstOrDefault(f => f.Hash == file.Hash)?.Filepath ?? string.Empty
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,10 +266,9 @@ namespace MareSynchronos.WebAPI
|
|||||||
|
|
||||||
private async Task<(string, byte[])> GetCompressedFileData(string fileHash, CancellationToken uploadToken)
|
private async Task<(string, byte[])> GetCompressedFileData(string fileHash, CancellationToken uploadToken)
|
||||||
{
|
{
|
||||||
await using var db = new FileCacheContext();
|
var fileCache = _fileDbManager.GetFileCacheByHash(fileHash)!.Filepath;
|
||||||
var fileCache = db.FileCaches.First(f => f.Hash == fileHash);
|
return (fileHash, LZ4Codec.WrapHC(await File.ReadAllBytesAsync(fileCache, uploadToken), 0,
|
||||||
return (fileHash, LZ4Codec.WrapHC(await File.ReadAllBytesAsync(fileCache.Filepath, uploadToken), 0,
|
(int)new FileInfo(fileCache).Length));
|
||||||
(int)new FileInfo(fileCache.Filepath).Length));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task UploadFile(byte[] compressedFile, string fileHash, CancellationToken uploadToken)
|
private async Task UploadFile(byte[] compressedFile, string fileHash, CancellationToken uploadToken)
|
||||||
|
|||||||
Reference in New Issue
Block a user