mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-04-27 06:20:11 +00:00
Improve full controller network list api
it was counting incorrectly in some cases and returning empty objects. Basically just handling if network data is null
This commit is contained in:
parent
024649c175
commit
559e8a907b
@ -918,6 +918,7 @@ void EmbeddedNetworkController::configureHTTPControlPlane(
|
|||||||
|
|
||||||
auto meta = json::object();
|
auto meta = json::object();
|
||||||
auto data = json::array();
|
auto data = json::array();
|
||||||
|
uint64_t networkCount = 0;
|
||||||
|
|
||||||
for(std::set<uint64_t>::const_iterator nwid(networkIds.begin()); nwid != networkIds.end(); ++nwid) {
|
for(std::set<uint64_t>::const_iterator nwid(networkIds.begin()); nwid != networkIds.end(); ++nwid) {
|
||||||
json network;
|
json network;
|
||||||
@ -927,8 +928,10 @@ void EmbeddedNetworkController::configureHTTPControlPlane(
|
|||||||
|
|
||||||
std::vector<json> memTmp;
|
std::vector<json> memTmp;
|
||||||
if (_db.get(*nwid, network, memTmp)) {
|
if (_db.get(*nwid, network, memTmp)) {
|
||||||
|
if (!network.is_null()) {
|
||||||
uint64_t authorizedCount = 0;
|
uint64_t authorizedCount = 0;
|
||||||
uint64_t totalCount = memTmp.size();
|
uint64_t totalCount = memTmp.size();
|
||||||
|
networkCount++;
|
||||||
|
|
||||||
for (auto m = memTmp.begin(); m != memTmp.end(); ++m) {
|
for (auto m = memTmp.begin(); m != memTmp.end(); ++m) {
|
||||||
bool a = OSUtils::jsonBool((*m)["authorized"], 0);
|
bool a = OSUtils::jsonBool((*m)["authorized"], 0);
|
||||||
@ -939,11 +942,12 @@ void EmbeddedNetworkController::configureHTTPControlPlane(
|
|||||||
nwMeta["totalMemberCount"] = totalCount;
|
nwMeta["totalMemberCount"] = totalCount;
|
||||||
nwMeta["authorizedMemberCount"] = authorizedCount;
|
nwMeta["authorizedMemberCount"] = authorizedCount;
|
||||||
network["meta"] = nwMeta;
|
network["meta"] = nwMeta;
|
||||||
}
|
|
||||||
|
|
||||||
data.push_back(network);
|
data.push_back(network);
|
||||||
}
|
}
|
||||||
meta["networkCount"] = networkIds.size();
|
}
|
||||||
|
}
|
||||||
|
meta["networkCount"] = networkCount;
|
||||||
|
|
||||||
auto out = json::object();
|
auto out = json::object();
|
||||||
out["data"] = data;
|
out["data"] = data;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user