GetAll also for child client

This commit is contained in:
2025-05-14 12:10:44 +02:00
parent 0a86856876
commit 19efc1c69e
5 changed files with 11 additions and 6 deletions

View File

@@ -7,6 +7,11 @@ public abstract class BaseClient<T>(IApiClient client) : IBaseClient<T> where T
{ {
public abstract string ApiEndpoint { get; } public abstract string ApiEndpoint { get; }
public virtual async Task<IEnumerable<T>> GetAll()
{
return (await client.SendRequest<GeneralItemMessages<T>.Items>(ApiEndpoint, HttpMethod.Get)).EnsureOk().Items;
}
public virtual async Task<T> Get(int id) public virtual async Task<T> Get(int id)
{ {
return (await client.SendRequest<GeneralItemMessages<T>.Item>($"{ApiEndpoint}/{id}", HttpMethod.Get)).EnsureOk().Item; return (await client.SendRequest<GeneralItemMessages<T>.Item>($"{ApiEndpoint}/{id}", HttpMethod.Get)).EnsureOk().Item;

View File

@@ -5,8 +5,4 @@ namespace Pilz.Net.Api.Client;
public abstract class BaseItemClient<T>(IApiClient client) : BaseClient<T>(client), IBaseItemClient<T> where T : IDataObject public abstract class BaseItemClient<T>(IApiClient client) : BaseClient<T>(client), IBaseItemClient<T> where T : IDataObject
{ {
public virtual async Task<IEnumerable<T>> GetAll()
{
return (await client.SendRequest<GeneralItemMessages<T>.Items>(ApiEndpoint, HttpMethod.Get)).EnsureOk().Items;
}
} }

View File

@@ -6,5 +6,6 @@ public interface IBaseClient<T> where T : IDataObject
{ {
Task Delete(int id); Task Delete(int id);
Task<T> Get(int id); Task<T> Get(int id);
Task<IEnumerable<T>> GetAll();
Task<T> Save(T item); Task<T> Save(T item);
} }

View File

@@ -4,5 +4,4 @@ namespace Pilz.Net.Api.Client;
public interface IBaseItemClient<T> : IBaseClient<T> where T : IDataObject public interface IBaseItemClient<T> : IBaseClient<T> where T : IDataObject
{ {
Task<IEnumerable<T>> GetAll();
} }

View File

@@ -34,8 +34,12 @@ public abstract class BaseChildItemHandler<TEntity, TParent, TUpdateMsg>(IApiSer
{ {
IQueryable<TEntity> list; IQueryable<TEntity> 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(); list = GetChilds(parentEntity).AsQueryable();
}
else else
list = server.Manager.Get<TEntity>(); list = server.Manager.Get<TEntity>();