namespace Elsa.Samples.AspNet.Onboarding.Web.Services;
///
/// A client for the Elsa API.
///
public class ElsaClient
{
private readonly HttpClient _httpClient;
public ElsaClient(HttpClient httpClient)
{
_httpClient = httpClient;
}
///
/// Reports a task as completed.
///
/// The ID of the task to complete.
/// The result of the task.
/// An optional cancellation token.
public async Task ReportTaskCompletedAsync(string taskId, object? result = default, CancellationToken cancellationToken = default)
{
var url = new Uri($"tasks/{taskId}/complete", UriKind.Relative);
var request = new { Result = result };
await _httpClient.PostAsJsonAsync(url, request, cancellationToken);
}
}