zbyle sluzby podle CC
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
using IdokladSdk.Clients;
|
||||
using IdokladSdk.Requests.Core;
|
||||
|
||||
namespace Idoklad.Client;
|
||||
|
||||
/// <summary>
|
||||
/// Generic helpers over the SDK's list/detail request builders so the read endpoints of the many
|
||||
/// agendas can be expressed in a single line. The concrete payload type is inferred by the SDK and
|
||||
/// returned boxed (full data is preserved at runtime; only the Swagger schema is generic).
|
||||
/// </summary>
|
||||
public static class SdkRequestExtensions
|
||||
{
|
||||
public static async Task<object?> ToPageAsync<TList, TClient, TGetModel, TFilter, TSort>(
|
||||
this BaseList<TList, TClient, TGetModel, TFilter, TSort> list,
|
||||
int page,
|
||||
int pageSize,
|
||||
CancellationToken ct)
|
||||
where TList : BaseList<TList, TClient, TGetModel, TFilter, TSort>
|
||||
where TClient : BaseClient
|
||||
where TFilter : new()
|
||||
where TSort : new()
|
||||
where TGetModel : new()
|
||||
=> (await list.Page(page).PageSize(pageSize).GetAsync(ct)).Unwrap();
|
||||
|
||||
public static async Task<object?> ToDetailAsync<TDetail, TClient, TGetModel>(
|
||||
this BaseDetail<TDetail, TClient, TGetModel> detail,
|
||||
CancellationToken ct)
|
||||
where TDetail : BaseDetail<TDetail, TClient, TGetModel>
|
||||
where TClient : BaseClient
|
||||
where TGetModel : new()
|
||||
=> (await detail.GetAsync(ct)).Unwrap();
|
||||
}
|
||||
Reference in New Issue
Block a user