From 19efc1c69eff1479bcd0f548f99c01d24eec5e8c Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Wed, 14 May 2025 12:10:44 +0200 Subject: [PATCH] GetAll also for child client --- Pilz.Net/Api/Client/BaseClient.cs | 5 +++++ Pilz.Net/Api/Client/BaseItemClient.cs | 4 ---- Pilz.Net/Api/Client/IBaseClient.cs | 1 + Pilz.Net/Api/Client/IBaseItemClient.cs | 1 - Pilz.Net/Api/Server/BaseChildItemHandler.cs | 6 +++++- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Pilz.Net/Api/Client/BaseClient.cs b/Pilz.Net/Api/Client/BaseClient.cs index c0b1745..584ccd9 100644 --- a/Pilz.Net/Api/Client/BaseClient.cs +++ b/Pilz.Net/Api/Client/BaseClient.cs @@ -7,6 +7,11 @@ public abstract class BaseClient(IApiClient client) : IBaseClient where T { public abstract string ApiEndpoint { get; } + public virtual async Task> GetAll() + { + return (await client.SendRequest.Items>(ApiEndpoint, HttpMethod.Get)).EnsureOk().Items; + } + public virtual async Task Get(int id) { return (await client.SendRequest.Item>($"{ApiEndpoint}/{id}", HttpMethod.Get)).EnsureOk().Item; diff --git a/Pilz.Net/Api/Client/BaseItemClient.cs b/Pilz.Net/Api/Client/BaseItemClient.cs index 5df51bb..f37e324 100644 --- a/Pilz.Net/Api/Client/BaseItemClient.cs +++ b/Pilz.Net/Api/Client/BaseItemClient.cs @@ -5,8 +5,4 @@ namespace Pilz.Net.Api.Client; public abstract class BaseItemClient(IApiClient client) : BaseClient(client), IBaseItemClient where T : IDataObject { - public virtual async Task> GetAll() - { - return (await client.SendRequest.Items>(ApiEndpoint, HttpMethod.Get)).EnsureOk().Items; - } } diff --git a/Pilz.Net/Api/Client/IBaseClient.cs b/Pilz.Net/Api/Client/IBaseClient.cs index 9f83ef9..325e573 100644 --- a/Pilz.Net/Api/Client/IBaseClient.cs +++ b/Pilz.Net/Api/Client/IBaseClient.cs @@ -6,5 +6,6 @@ public interface IBaseClient where T : IDataObject { Task Delete(int id); Task Get(int id); + Task> GetAll(); Task Save(T item); } diff --git a/Pilz.Net/Api/Client/IBaseItemClient.cs b/Pilz.Net/Api/Client/IBaseItemClient.cs index a0a44f6..326cbdf 100644 --- a/Pilz.Net/Api/Client/IBaseItemClient.cs +++ b/Pilz.Net/Api/Client/IBaseItemClient.cs @@ -4,5 +4,4 @@ namespace Pilz.Net.Api.Client; public interface IBaseItemClient : IBaseClient where T : IDataObject { - Task> GetAll(); } diff --git a/Pilz.Net/Api/Server/BaseChildItemHandler.cs b/Pilz.Net/Api/Server/BaseChildItemHandler.cs index a9e346a..de3da07 100644 --- a/Pilz.Net/Api/Server/BaseChildItemHandler.cs +++ b/Pilz.Net/Api/Server/BaseChildItemHandler.cs @@ -34,8 +34,12 @@ public abstract class BaseChildItemHandler(IApiSer { IQueryable list; - if (parent != 0 && server.Manager.Find(parent, out TParent? parentEntity)) + if (parent != 0) + { + if (!server.Manager.Find(parent, out TParent? parentEntity)) + return ApiResult.NotFound(); list = GetChilds(parentEntity).AsQueryable(); + } else list = server.Manager.Get();