refactor(EConnectClient): queryParams-Eingabe zu get-Methoden hinzufügen

This commit is contained in:
tekh 2025-08-15 09:46:29 +02:00
parent a7a16ab281
commit 087df71b7b
2 changed files with 8 additions and 4 deletions

View File

@ -4,8 +4,8 @@ namespace Leanetec.EConnect.Client.Interface;
public interface IEConnectClient<TError> where TError : class
{
public Task<Response<TData, TError>> GetAsync<TData>(string? route = null, CancellationToken cancel = default) where TData : class;
public Task<Response<TData, TError>> GetAsync<TData>(string? route = null, object? queryParams = null, CancellationToken cancel = default) where TData : class;
public Task<Response<IAsyncEnumerable<TData?>, TError>> GetListAsAsyncEnumerable<TData>(string? route = null, CancellationToken cancel = default)
public Task<Response<IAsyncEnumerable<TData?>, TError>> GetListAsAsyncEnumerable<TData>(string? route = null, object? queryParams = null, CancellationToken cancel = default)
where TData : class;
}

View File

@ -20,9 +20,11 @@ public class EConnectClient<TError> : IEConnectClient<TError> where TError : cl
LazyHttp = new Lazy<HttpClient>(httpFactory.CreateEConnectClient);
}
public async Task<Response<TData, TError>> GetAsync<TData>(string? route = null, CancellationToken cancel = default)
public async Task<Response<TData, TError>> GetAsync<TData>(string? route = null, object? queryParams = null, CancellationToken cancel = default)
where TData : class
{
route = route?.AddQueryString(queryParams?.ToPropertyDictionary());
var res = await Http.GetAsync(route, cancel);
if (res.IsSuccessStatusCode)
@ -37,9 +39,11 @@ public class EConnectClient<TError> : IEConnectClient<TError> where TError : cl
}
}
public async Task<Response<IAsyncEnumerable<TData?>, TError>> GetListAsAsyncEnumerable<TData>(string? route = null, CancellationToken cancel = default)
public async Task<Response<IAsyncEnumerable<TData?>, TError>> GetListAsAsyncEnumerable<TData>(string? route = null, object? queryParams = null, CancellationToken cancel = default)
where TData : class
{
route = route?.AddQueryString(queryParams?.ToPropertyDictionary());
var res = await Http.GetAsync(route, cancel);
if (res.IsSuccessStatusCode)