Include results count

This commit is contained in:
Kieran
2023-08-24 11:53:12 +01:00
parent e51672352f
commit 0ae2144adf
15 changed files with 30 additions and 29 deletions

View File

@@ -30,7 +30,7 @@ public sealed class DeleteExpiredFiles : BackgroundService
var fileStoreFactory = scope.ServiceProvider.GetRequiredService<FileStoreFactory>();
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
{

View File

@@ -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);

View File

@@ -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;

View File

@@ -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<IFileMetadataStore.StoreStats> 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);
}

View File

@@ -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()
};
}

View File

@@ -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<IFileMetadataStore.StoreStats> 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);
}

View File

@@ -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<Database.File>()
Data = AsyncEnumerable.Empty<Database.File>()
};
}
}

View File

@@ -60,9 +60,9 @@ public class CleanupLocalDiskStore : IMigration
{
var deleting = new List<Guid>();
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))
{

View File

@@ -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))
};
}

View File

@@ -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))
};
}

View File

@@ -94,7 +94,7 @@ public class PostgresUserStore : IUserStore
Page = request.Page,
PageSize = request.PageSize,
TotalResults = totalUsers,
Results = Enumerate()
Data = Enumerate()
};
}

View File

@@ -72,7 +72,7 @@ public class PostgresUserUploadStore : IUserUploadsStore
Page = request.Page,
PageSize = request.PageSize,
TotalResults = count,
Results = EnumerateFiles()
Data = EnumerateFiles()
};
}