[backend/asp] Fix link header pagination

This commit is contained in:
Laura Hausmann 2024-07-09 22:26:21 +02:00
parent 69d7a3af3b
commit 60a28c314c
No known key found for this signature in database
GPG key ID: D044E84C5BE01605

View file

@ -29,8 +29,11 @@ public class LinkPaginationAttribute(int defaultLimit, int maxLimit, bool offset
var query = actionArguments.Values.OfType<IPaginationQuery>().FirstOrDefault();
if (query == null) return;
if (context.Result is not OkObjectResult result) return;
if ((context.HttpContext.GetPaginationData() ?? result.Value) is not IEnumerable<IEntity> entities) return;
var entities = context.HttpContext.GetPaginationData();
if (entities == null && context.Result is ObjectResult { StatusCode: null or >= 200 and <= 299 } result)
entities = result.Value as IEnumerable<IEntity>;
if (entities is null) return;
var ids = entities.Select(p => p.Id).ToList();
if (ids.Count == 0) return;
if (query.MinId != null) ids.Reverse();