diff --git a/VoidCat/Services/Files/PostgresFileMetadataStore.cs b/VoidCat/Services/Files/PostgresFileMetadataStore.cs index c32dd92..62253b7 100644 --- a/VoidCat/Services/Files/PostgresFileMetadataStore.cs +++ b/VoidCat/Services/Files/PostgresFileMetadataStore.cs @@ -83,22 +83,20 @@ on conflict (""Id"") do update set ""Name"" = :name, ""Description"" = :descript /// public async ValueTask> ListFiles(PagedRequest request) where TMeta : VoidFileMeta { - var qInner = @"select {0} from ""Files"" order by ""{1}"" {2}"; - 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(string.Format(qInner, "count(*)", orderBy, - orderDirection)); + var count = await _connection.ExecuteScalarAsync(@"select count(*) from ""Files"""); async IAsyncEnumerable 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( - $"{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}); foreach (var meta in results)