Files
ReC/src/ReC.Client/Api/EndpointParamsApi.cs
TekH 14532a15bf Add NETFRAMEWORK-specific usings to API files
Added conditional using directives for System.Net.Http, System.Threading, and System.Threading.Tasks in multiple API files. These usings are now included only when targeting .NET Framework, improving compatibility and preventing unnecessary imports on other platforms.
2026-01-16 11:35:37 +01:00

63 lines
2.5 KiB
C#

#if NETFRAMEWORK
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
#endif
namespace ReC.Client.Api
{
/// <summary>
/// Provides access to endpoint parameter endpoints.
/// </summary>
public class EndpointParamsApi
{
private readonly HttpClient _http;
/// <summary>
/// Initializes a new instance of the <see cref="EndpointParamsApi"/> class.
/// </summary>
/// <param name="http">The HTTP client used for requests.</param>
public EndpointParamsApi(HttpClient http)
{
_http = http;
}
/// <summary>
/// Creates endpoint parameters.
/// </summary>
/// <typeparam name="T">The payload type.</typeparam>
/// <param name="procedure">The payload to send.</param>
/// <param name="cancel">A token to cancel the operation.</param>
/// <returns>The HTTP response message.</returns>
public Task<HttpResponseMessage> CreateEndpointParamsAsync<T>(T procedure, CancellationToken cancel = default)
=> _http.PostAsync("api/EndpointParams", ReCClientHelpers.ToJsonContent(procedure), cancel);
/// <summary>
/// Updates endpoint parameters.
/// </summary>
/// <typeparam name="T">The payload type.</typeparam>
/// <param name="id">The parameter identifier.</param>
/// <param name="procedure">The payload to send.</param>
/// <param name="cancel">A token to cancel the operation.</param>
/// <returns>The HTTP response message.</returns>
public Task<HttpResponseMessage> UpdateEndpointParamsAsync<T>(long id, T procedure, CancellationToken cancel = default)
=> _http.PutAsync($"api/EndpointParams/{id}", ReCClientHelpers.ToJsonContent(procedure), cancel);
/// <summary>
/// Deletes endpoint parameters.
/// </summary>
/// <typeparam name="T">The payload type containing identifiers.</typeparam>
/// <param name="procedure">The payload to send.</param>
/// <param name="cancel">A token to cancel the operation.</param>
/// <returns>The HTTP response message.</returns>
public Task<HttpResponseMessage> DeleteEndpointParamsAsync<T>(T procedure, CancellationToken cancel = default)
{
var request = new HttpRequestMessage(HttpMethod.Delete, "api/EndpointParams")
{
Content = ReCClientHelpers.ToJsonContent(procedure)
};
return _http.SendAsync(request, cancel);
}
}
}