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 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)
{
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 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<T> Get(int id);
Task<IEnumerable<T>> GetAll();
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
{
Task<IEnumerable<T>> GetAll();
}