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)))) | ||||
|         { | ||||
|             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))); | ||||
|             foreach (var entry in cachedEntries) | ||||
|             { | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
|   <PropertyGroup> | ||||
|     <Authors></Authors> | ||||
|     <Company></Company> | ||||
|     <Version>0.4.10</Version> | ||||
|     <Version>0.4.11</Version> | ||||
|     <Description></Description> | ||||
|     <Copyright></Copyright> | ||||
|     <PackageProjectUrl>https://github.com/Penumbra-Sync/client</PackageProjectUrl> | ||||
|   | ||||
| @@ -173,13 +173,11 @@ namespace MareSynchronos.WebAPI | ||||
|  | ||||
|                 foreach (var file in filesToUpload.Where(f => !f.IsForbidden)) | ||||
|                 { | ||||
|                     await using var db = new FileCacheContext(); | ||||
|                     try | ||||
|                     { | ||||
|                         CurrentUploads.Add(new UploadFileTransfer(file) | ||||
|                         { | ||||
|                             Total = new FileInfo(db.FileCaches.FirstOrDefault(f => f.Hash.ToLower() == file.Hash.ToLower()) | ||||
|                                 ?.Filepath ?? string.Empty).Length | ||||
|                             Total = new FileInfo(_fileDbManager.GetFileCacheByHash(file.Hash)!.Filepath).Length | ||||
|                         }); | ||||
|                     } | ||||
|                     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 = db.FileCaches.FirstOrDefault(f => f.Hash == file.Hash)?.Filepath ?? string.Empty | ||||
|                             }); | ||||
|                         } | ||||
|                             LocalFile = _fileDbManager.GetFileCacheByHash(file.Hash)?.Filepath ?? string.Empty | ||||
|                         }); | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
| @@ -271,10 +266,9 @@ namespace MareSynchronos.WebAPI | ||||
|  | ||||
|         private async Task<(string, byte[])> GetCompressedFileData(string fileHash, CancellationToken uploadToken) | ||||
|         { | ||||
|             await using var db = new FileCacheContext(); | ||||
|             var fileCache = db.FileCaches.First(f => f.Hash == fileHash); | ||||
|             return (fileHash, LZ4Codec.WrapHC(await File.ReadAllBytesAsync(fileCache.Filepath, uploadToken), 0, | ||||
|                 (int)new FileInfo(fileCache.Filepath).Length)); | ||||
|             var fileCache = _fileDbManager.GetFileCacheByHash(fileHash)!.Filepath; | ||||
|             return (fileHash, LZ4Codec.WrapHC(await File.ReadAllBytesAsync(fileCache, uploadToken), 0, | ||||
|                 (int)new FileInfo(fileCache).Length)); | ||||
|         } | ||||
|  | ||||
|         private async Task UploadFile(byte[] compressedFile, string fileHash, CancellationToken uploadToken) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Stanley Dimant
					Stanley Dimant