forked from Kieran/void.cat
Fix ListFiles for Postgres
This commit is contained in:
parent
ca99293eda
commit
1f484f243d
@ -83,22 +83,20 @@ on conflict (""Id"") do update set ""Name"" = :name, ""Description"" = :descript
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public async ValueTask<PagedResult<TMeta>> ListFiles<TMeta>(PagedRequest request) where TMeta : VoidFileMeta
|
public async ValueTask<PagedResult<TMeta>> ListFiles<TMeta>(PagedRequest request) where TMeta : VoidFileMeta
|
||||||
{
|
{
|
||||||
var qInner = @"select {0} from ""Files"" order by ""{1}"" {2}";
|
var count = await _connection.ExecuteScalarAsync<int>(@"select count(*) from ""Files""");
|
||||||
var orderBy = request.SortBy switch
|
|
||||||
{
|
|
||||||
PagedSortBy.Date => "Uploaded",
|
|
||||||
PagedSortBy.Name => "Name",
|
|
||||||
PagedSortBy.Size => "Size",
|
|
||||||
_ => "Id"
|
|
||||||
};
|
|
||||||
var orderDirection = request.SortOrder == PageSortOrder.Asc ? "asc" : "desc";
|
|
||||||
var count = await _connection.ExecuteScalarAsync<int>(string.Format(qInner, "count(*)", orderBy,
|
|
||||||
orderDirection));
|
|
||||||
|
|
||||||
async IAsyncEnumerable<TMeta> Enumerate()
|
async IAsyncEnumerable<TMeta> Enumerate()
|
||||||
{
|
{
|
||||||
|
var orderBy = request.SortBy switch
|
||||||
|
{
|
||||||
|
PagedSortBy.Date => "Uploaded",
|
||||||
|
PagedSortBy.Name => "Name",
|
||||||
|
PagedSortBy.Size => "Size",
|
||||||
|
_ => "Id"
|
||||||
|
};
|
||||||
|
var orderDirection = request.SortOrder == PageSortOrder.Asc ? "asc" : "desc";
|
||||||
var results = await _connection.QueryAsync<TMeta>(
|
var results = await _connection.QueryAsync<TMeta>(
|
||||||
$"{string.Format(qInner, "*", orderBy, orderDirection)} offset @offset limit @limit",
|
$"select * from \"Files\" order by \"{orderBy}\" {orderDirection} offset @offset limit @limit",
|
||||||
new {offset = request.PageSize * request.Page, limit = request.PageSize});
|
new {offset = request.PageSize * request.Page, limit = request.PageSize});
|
||||||
|
|
||||||
foreach (var meta in results)
|
foreach (var meta in results)
|
||||||
|
Loading…
Reference in New Issue
Block a user