From 7c6c216b02de76e9a4fc7e5c3ed14f0553156454 Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Fri, 21 Nov 2025 08:45:09 +0100 Subject: [PATCH] return IOrderedQueryable and order by id by default --- Pilz.Net/Api/Server/BaseChildItemHandler.cs | 5 ----- Pilz.Net/Api/Server/BaseHandler.cs | 9 +++++++++ Pilz.Net/Api/Server/BaseItemHandler.cs | 11 +---------- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/Pilz.Net/Api/Server/BaseChildItemHandler.cs b/Pilz.Net/Api/Server/BaseChildItemHandler.cs index 35f7bc4..d889dc9 100644 --- a/Pilz.Net/Api/Server/BaseChildItemHandler.cs +++ b/Pilz.Net/Api/Server/BaseChildItemHandler.cs @@ -111,9 +111,4 @@ public abstract class BaseChildItemHandler(IApiSer } public abstract IList GetChilds(TParent parent); - - protected virtual IQueryable SortEntities(IQueryable entities) - { - return entities; - } } diff --git a/Pilz.Net/Api/Server/BaseHandler.cs b/Pilz.Net/Api/Server/BaseHandler.cs index c363455..5217ae2 100644 --- a/Pilz.Net/Api/Server/BaseHandler.cs +++ b/Pilz.Net/Api/Server/BaseHandler.cs @@ -19,6 +19,8 @@ public abstract class BaseHandler(IApiServer server) public event EventHandler? OnDeleteItem; + protected readonly bool isNamedObjectType = typeof(TEntity).IsAssignableTo(typeof(INamedObject)); + /// /// Gets the base route (endpoint) for the most API calls. /// @@ -102,6 +104,13 @@ public abstract class BaseHandler(IApiServer server) return entities; } + protected virtual IOrderedQueryable SortEntities(IQueryable entities) + { + if (isNamedObjectType) + return entities.OrderBy(n => ((INamedObject)n).Name); + return entities.OrderBy(n => n.Id); + } + protected abstract ApiResult? UpdateEntity(EntityUpdate update); protected abstract IDataObject ToClient(TEntity entity); diff --git a/Pilz.Net/Api/Server/BaseItemHandler.cs b/Pilz.Net/Api/Server/BaseItemHandler.cs index 1ee35ab..5aa1b5f 100644 --- a/Pilz.Net/Api/Server/BaseItemHandler.cs +++ b/Pilz.Net/Api/Server/BaseItemHandler.cs @@ -11,8 +11,6 @@ public abstract class BaseItemHandler(IApiServer server) where TEntity : class, IDataObject where TUpdateMsg : ApiMessage { - protected readonly bool isNamedObjectType = typeof(TEntity).IsAssignableTo(typeof(INamedObject)); - protected virtual bool RegisterGetAll => true; protected virtual bool RegisterPost => true; @@ -28,7 +26,7 @@ public abstract class BaseItemHandler(IApiServer server) public virtual ApiResult GetAll(string? ids, int offset, int amount) { - var entities = SortEntities(FilterByIDs(server.Manager.Get(), ids)); + var entities = (IQueryable)SortEntities(FilterByIDs(server.Manager.Get(), ids)); if (offset > 0) entities = entities.Skip(offset); if (amount > 0) @@ -46,11 +44,4 @@ public abstract class BaseItemHandler(IApiServer server) return result2; return ToClient(entity).ToItemResult(HttpStatusCode.Created); } - - protected virtual IQueryable SortEntities(IQueryable entities) - { - if (isNamedObjectType) - return entities.OrderBy(n => ((INamedObject)n).Name); - return entities; - } }