Skip to content

Commit

Permalink
Improve full controller network list api
Browse files Browse the repository at this point in the history
it was counting incorrectly in some cases and
returning empty objects.
Basically just handling if network data is null
  • Loading branch information
laduke committed Feb 22, 2024
1 parent 4cd1dcf commit fee27f5
Showing 1 changed file with 17 additions and 13 deletions.
30 changes: 17 additions & 13 deletions controller/EmbeddedNetworkController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -918,6 +918,7 @@ void EmbeddedNetworkController::configureHTTPControlPlane(

auto meta = json::object();
auto data = json::array();
uint64_t networkCount = 0;

for(std::set<uint64_t>::const_iterator nwid(networkIds.begin()); nwid != networkIds.end(); ++nwid) {
json network;
Expand All @@ -927,23 +928,26 @@ void EmbeddedNetworkController::configureHTTPControlPlane(

std::vector<json> memTmp;
if (_db.get(*nwid, network, memTmp)) {
uint64_t authorizedCount = 0;
uint64_t totalCount = memTmp.size();
if (!network.is_null()) {
uint64_t authorizedCount = 0;
uint64_t totalCount = memTmp.size();
networkCount++;

for (auto m = memTmp.begin(); m != memTmp.end(); ++m) {
bool a = OSUtils::jsonBool((*m)["authorized"], 0);
if (a) { authorizedCount++; }
}

for (auto m = memTmp.begin(); m != memTmp.end(); ++m) {
bool a = OSUtils::jsonBool((*m)["authorized"], 0);
if (a) { authorizedCount++; }
}
auto nwMeta = json::object();
nwMeta["totalMemberCount"] = totalCount;
nwMeta["authorizedMemberCount"] = authorizedCount;
network["meta"] = nwMeta;

auto nwMeta = json::object();
nwMeta["totalMemberCount"] = totalCount;
nwMeta["authorizedMemberCount"] = authorizedCount;
network["meta"] = nwMeta;
data.push_back(network);
}
}

data.push_back(network);
}
meta["networkCount"] = networkIds.size();
meta["networkCount"] = networkCount;

auto out = json::object();
out["data"] = data;
Expand Down

0 comments on commit fee27f5

Please sign in to comment.