using Hcs.Broker.Api.Request;
using Hcs.Broker.Api.Request.Exception;
using Hcs.Broker.Api.Request.Nsi;
using Hcs.Service.Async.Nsi;
namespace Hcs.Broker.Api
{
///
public class NsiApi(Client client) : ApiBase(client), INsiApi
{
///
public async Task> ExportDataProviderNsiItemAsync(exportDataProviderNsiItemRequestRegistryNumber registryNumber, CancellationToken token = default)
{
try
{
var request = new ExportDataProviderNsiItemRequest(client);
return await request.ExecuteAsync(registryNumber, token);
}
catch (NoResultsRemoteException)
{
return [];
}
}
///
public async Task RequestExportDataProviderNsiItemAsync(exportDataProviderNsiItemRequestRegistryNumber registryNumber, CancellationToken token = default)
{
var request = new ExportDataProviderNsiItemRequest(client);
return await request.SendAsync(registryNumber, token);
}
///
public async Task> GetExportDataProviderNsiItemResultAsync(string messageGuid)
{
var request = new ExportDataProviderNsiItemRequest(client);
return await request.GetResultAsync(messageGuid);
}
}
}