Don't query for available products when disabling product refresh

This commit is contained in:
Dan Paulat 2025-06-22 17:50:36 -05:00
parent a81d6f340d
commit ec06cc62e1

View file

@ -683,29 +683,36 @@ void RadarProductManager::EnableRefresh(common::RadarProductGroup group,
p->GetLevel3ProviderManager(product);
// Only enable refresh on available products
boost::asio::post(
p->threadPool_,
[=, this]()
{
try
if (enabled)
{
boost::asio::post(
p->threadPool_,
[=, this]()
{
providerManager->provider_->RequestAvailableProducts();
auto availableProducts =
providerManager->provider_->GetAvailableProducts();
if (std::find(std::execution::par,
availableProducts.cbegin(),
availableProducts.cend(),
product) != availableProducts.cend())
try
{
p->EnableRefresh(uuid, {providerManager}, enabled);
providerManager->provider_->RequestAvailableProducts();
auto availableProducts =
providerManager->provider_->GetAvailableProducts();
if (std::find(std::execution::par,
availableProducts.cbegin(),
availableProducts.cend(),
product) != availableProducts.cend())
{
p->EnableRefresh(uuid, {providerManager}, enabled);
}
}
}
catch (const std::exception& ex)
{
logger_->error(ex.what());
}
});
catch (const std::exception& ex)
{
logger_->error(ex.what());
}
});
}
else
{
p->EnableRefresh(uuid, {providerManager}, enabled);
}
}
}