using JdeScoping.Core.ApiContracts;
using JdeScoping.Core.Models.Pipelines;
using JdeScoping.Core.ApiContracts.Results;
namespace JdeScoping.Client.Services;
///
/// HTTP client implementation for pipeline configuration API.
///
public class PipelineApiClient : ApiClientBase, IPipelineApiClient
{
public PipelineApiClient(HttpClient httpClient) : base(httpClient) { }
public Task> GetPipelineNamesAsync(CancellationToken ct = default)
=> GetAsync(ApiRoutes.Pipelines.Base, ct);
public Task> GetPipelineAsync(string name, CancellationToken ct = default)
=> GetAsync(ApiRoutes.Pipelines.GetByName(name), ct);
public Task> GetStatusAsync(string name, CancellationToken ct = default)
=> GetAsync(ApiRoutes.Pipelines.GetStatus(name), ct);
public Task> GetExecutionsAsync(string name, int count = 30, CancellationToken ct = default)
=> GetAsync(ApiRoutes.Pipelines.GetExecutions(name, count), ct);
}