diff --git a/VoidCat/Controllers/Admin/AdminController.cs b/VoidCat/Controllers/Admin/AdminController.cs index 01a97ea..fb96c60 100644 --- a/VoidCat/Controllers/Admin/AdminController.cs +++ b/VoidCat/Controllers/Admin/AdminController.cs @@ -43,7 +43,7 @@ public class AdminController : Controller Page = files.Page, PageSize = files.PageSize, TotalResults = files.TotalResults, - Results = (await files.Results.SelectAwait(a => _fileInfo.Get(a.Id, false)).ToListAsync())! + Results = (await files.Data.SelectAwait(a => _fileInfo.Get(a.Id, false)).ToListAsync())! }; } @@ -71,7 +71,7 @@ public class AdminController : Controller { var result = await _userStore.ListUsers(request); - var ret = await result.Results.SelectAwait(async a => + var ret = await result.Data.SelectAwait(async a => { var uploads = await _userUploads.ListFiles(a.Id, new(0, int.MaxValue)); return new AdminListedUser(a.ToAdminApiUser(true), uploads.TotalResults); diff --git a/VoidCat/Controllers/UserController.cs b/VoidCat/Controllers/UserController.cs index c9e369f..3847a7c 100644 --- a/VoidCat/Controllers/UserController.cs +++ b/VoidCat/Controllers/UserController.cs @@ -104,7 +104,7 @@ public class UserController : Controller !user.Flags.HasFlag(UserFlags.PublicUploads)) return Forbid(); var results = await _userUploads.ListFiles(id.FromBase58Guid(), request); - var files = await results.Results.ToListAsync(); + var files = await results.Data.ToListAsync(); var fileInfo = await _fileInfoManager.Get(files.ToArray(), false); return Json(new RenderedResults() { diff --git a/VoidCat/Model/PagedResult.cs b/VoidCat/Model/PagedResult.cs index 4ed3bc4..b95bc18 100644 --- a/VoidCat/Model/PagedResult.cs +++ b/VoidCat/Model/PagedResult.cs @@ -6,11 +6,13 @@ public abstract class PagedResult public int PageSize { get; init; } public int Pages => TotalResults / PageSize; public int TotalResults { get; init; } + + public int Results { get; init; } } public sealed class PagedResult : PagedResult { - public IAsyncEnumerable Results { get; init; } + public IAsyncEnumerable Data { get; init; } = null!; public async Task> GetResults() { @@ -19,7 +21,7 @@ public sealed class PagedResult : PagedResult Page = Page, PageSize = PageSize, TotalResults = TotalResults, - Results = await Results.ToListAsync() + Results = await Data.ToListAsync() }; } } diff --git a/VoidCat/Services/Background/DeleteExpiredFiles.cs b/VoidCat/Services/Background/DeleteExpiredFiles.cs index f6d6919..af73a94 100644 --- a/VoidCat/Services/Background/DeleteExpiredFiles.cs +++ b/VoidCat/Services/Background/DeleteExpiredFiles.cs @@ -30,7 +30,7 @@ public sealed class DeleteExpiredFiles : BackgroundService var fileStoreFactory = scope.ServiceProvider.GetRequiredService(); var files = await metadata.ListFiles(new(0, int.MaxValue)); - await foreach (var f in files.Results.WithCancellation(stoppingToken)) + await foreach (var f in files.Data.WithCancellation(stoppingToken)) { try { diff --git a/VoidCat/Services/Background/DeleteUnverifiedAccounts.cs b/VoidCat/Services/Background/DeleteUnverifiedAccounts.cs index f894b74..fc4a8db 100644 --- a/VoidCat/Services/Background/DeleteUnverifiedAccounts.cs +++ b/VoidCat/Services/Background/DeleteUnverifiedAccounts.cs @@ -30,7 +30,7 @@ public class DeleteUnverifiedAccounts : BackgroundService var accounts = await userStore.ListUsers(new(0, Int32.MaxValue)); - await foreach (var account in accounts.Results.WithCancellation(stoppingToken)) + await foreach (var account in accounts.Data.WithCancellation(stoppingToken)) { if (!account.Flags.HasFlag(UserFlags.EmailVerified) && account.Created.AddDays(7) < DateTimeOffset.UtcNow) @@ -40,7 +40,7 @@ public class DeleteUnverifiedAccounts : BackgroundService var files = await userUploads.ListFiles(account.Id, new(0, Int32.MinValue)); // ReSharper disable once UseCancellationTokenForIAsyncEnumerable - await foreach (var file in files.Results) + await foreach (var file in files.Data) { await fileStore.DeleteFile(file); await fileInfoManager.Delete(file); diff --git a/VoidCat/Services/Background/VirusScannerService.cs b/VoidCat/Services/Background/VirusScannerService.cs index 6f8ac2c..c22a379 100644 --- a/VoidCat/Services/Background/VirusScannerService.cs +++ b/VoidCat/Services/Background/VirusScannerService.cs @@ -29,12 +29,10 @@ public class VirusScannerService : BackgroundService var page = 0; while (true) { - var files = await _fileStore.ListFiles(new(page, 1_000)); - if (files.Pages < page) break; + var files = await _fileStore.ListFiles(new(page++, 1_000)); + if (files.Results == 0) break; - page++; - - await foreach (var file in files.Results.WithCancellation(stoppingToken)) + await foreach (var file in files.Data.WithCancellation(stoppingToken)) { // file is too large, cant scan if (file.Size > 4_000_000) continue; diff --git a/VoidCat/Services/Files/LocalDiskFileMetadataStore.cs b/VoidCat/Services/Files/LocalDiskFileMetadataStore.cs index ab4f563..7223f0b 100644 --- a/VoidCat/Services/Files/LocalDiskFileMetadataStore.cs +++ b/VoidCat/Services/Files/LocalDiskFileMetadataStore.cs @@ -91,7 +91,7 @@ public class LocalDiskFileMetadataStore : IFileMetadataStore { Page = request.Page, PageSize = request.PageSize, - Results = results.Take(request.PageSize).Skip(request.Page * request.PageSize) + Data = results.Take(request.PageSize).Skip(request.Page * request.PageSize) }); } @@ -99,8 +99,8 @@ public class LocalDiskFileMetadataStore : IFileMetadataStore public async ValueTask Stats() { var files = await ListFiles(new(0, Int32.MaxValue)); - var count = await files.Results.CountAsync(); - var size = await files.Results.SumAsync(a => (long) a.Size); + var count = await files.Data.CountAsync(); + var size = await files.Data.SumAsync(a => (long) a.Size); return new(count, (ulong) size); } diff --git a/VoidCat/Services/Files/PostgresFileMetadataStore.cs b/VoidCat/Services/Files/PostgresFileMetadataStore.cs index 405dcbf..7b0a28e 100644 --- a/VoidCat/Services/Files/PostgresFileMetadataStore.cs +++ b/VoidCat/Services/Files/PostgresFileMetadataStore.cs @@ -113,10 +113,11 @@ public class PostgresFileMetadataStore : IFileMetadataStore return new() { - TotalResults = await MakeQuery(_db).CountAsync(), + TotalResults = await _db.Files.CountAsync(), + Results = await MakeQuery(_db).CountAsync(), PageSize = request.PageSize, Page = request.Page, - Results = Enumerate() + Data = Enumerate() }; } diff --git a/VoidCat/Services/Files/S3FileMetadataStore.cs b/VoidCat/Services/Files/S3FileMetadataStore.cs index 95a1dbe..ee740a7 100644 --- a/VoidCat/Services/Files/S3FileMetadataStore.cs +++ b/VoidCat/Services/Files/S3FileMetadataStore.cs @@ -100,7 +100,7 @@ public class S3FileMetadataStore : IFileMetadataStore { Page = request.Page, PageSize = request.PageSize, - Results = Enumerate().Skip(request.PageSize * request.Page).Take(request.PageSize) + Data = Enumerate().Skip(request.PageSize * request.Page).Take(request.PageSize) }); } @@ -108,8 +108,8 @@ public class S3FileMetadataStore : IFileMetadataStore public async ValueTask Stats() { var files = await ListFiles(new(0, Int32.MaxValue)); - var count = await files.Results.CountAsync(); - var size = await files.Results.SumAsync(a => (long) a.Size); + var count = await files.Data.CountAsync(); + var size = await files.Data.SumAsync(a => (long) a.Size); return new(count, (ulong) size); } diff --git a/VoidCat/Services/Files/S3FileStore.cs b/VoidCat/Services/Files/S3FileStore.cs index 2dd9ef3..5ccaf5b 100644 --- a/VoidCat/Services/Files/S3FileStore.cs +++ b/VoidCat/Services/Files/S3FileStore.cs @@ -138,7 +138,7 @@ public class S3FileStore : StreamFileStore, IFileStore Page = request.Page, PageSize = request.PageSize, TotalResults = files.Count(), - Results = EnumerateFiles(files.Skip(request.PageSize * request.Page).Take(request.PageSize)) + Data = EnumerateFiles(files.Skip(request.PageSize * request.Page).Take(request.PageSize)) }; } catch (AmazonS3Exception aex) @@ -149,7 +149,7 @@ public class S3FileStore : StreamFileStore, IFileStore Page = request.Page, PageSize = request.PageSize, TotalResults = 0, - Results = AsyncEnumerable.Empty() + Data = AsyncEnumerable.Empty() }; } } diff --git a/VoidCat/Services/Migrations/CleanupLocalDiskStore.cs b/VoidCat/Services/Migrations/CleanupLocalDiskStore.cs index 1de4f0a..1bbdd81 100644 --- a/VoidCat/Services/Migrations/CleanupLocalDiskStore.cs +++ b/VoidCat/Services/Migrations/CleanupLocalDiskStore.cs @@ -60,9 +60,9 @@ public class CleanupLocalDiskStore : IMigration { var deleting = new List(); var fileList = await _metadataStore.ListFiles(new(page++, 1000)); - if (fileList.TotalResults == 0) break; + if (fileList.Results == 0) break; - await foreach (var md in fileList.Results) + await foreach (var md in fileList.Data) { if (!await _fileStore.Exists(md.Id)) { diff --git a/VoidCat/Services/Users/CacheUserStore.cs b/VoidCat/Services/Users/CacheUserStore.cs index 30fa0ff..2b58792 100644 --- a/VoidCat/Services/Users/CacheUserStore.cs +++ b/VoidCat/Services/Users/CacheUserStore.cs @@ -74,7 +74,7 @@ public class CacheUserStore : IUserStore Page = request.Page, PageSize = request.PageSize, TotalResults = users?.Count() ?? 0, - Results = EnumerateUsers(users?.Skip(request.PageSize * request.Page).Take(request.PageSize)) + Data = EnumerateUsers(users?.Skip(request.PageSize * request.Page).Take(request.PageSize)) }; } diff --git a/VoidCat/Services/Users/CacheUserUploadStore.cs b/VoidCat/Services/Users/CacheUserUploadStore.cs index cfc4956..953cfd0 100644 --- a/VoidCat/Services/Users/CacheUserUploadStore.cs +++ b/VoidCat/Services/Users/CacheUserUploadStore.cs @@ -38,7 +38,7 @@ public class CacheUserUploadStore : IUserUploadsStore Page = request.Page, PageSize = request.PageSize, TotalResults = idsRendered.Count, - Results = EnumerateResults(idsRendered.Skip(request.Page * request.PageSize).Take(request.PageSize)) + Data = EnumerateResults(idsRendered.Skip(request.Page * request.PageSize).Take(request.PageSize)) }; } diff --git a/VoidCat/Services/Users/PostgresUserStore.cs b/VoidCat/Services/Users/PostgresUserStore.cs index c55eb23..665983b 100644 --- a/VoidCat/Services/Users/PostgresUserStore.cs +++ b/VoidCat/Services/Users/PostgresUserStore.cs @@ -94,7 +94,7 @@ public class PostgresUserStore : IUserStore Page = request.Page, PageSize = request.PageSize, TotalResults = totalUsers, - Results = Enumerate() + Data = Enumerate() }; } diff --git a/VoidCat/Services/Users/PostgresUserUploadStore.cs b/VoidCat/Services/Users/PostgresUserUploadStore.cs index de9cd3a..ada4aa8 100644 --- a/VoidCat/Services/Users/PostgresUserUploadStore.cs +++ b/VoidCat/Services/Users/PostgresUserUploadStore.cs @@ -72,7 +72,7 @@ public class PostgresUserUploadStore : IUserUploadsStore Page = request.Page, PageSize = request.PageSize, TotalResults = count, - Results = EnumerateFiles() + Data = EnumerateFiles() }; }