From 079ef0f7fde94bce533d82fad3bdf4b2b2a73692 Mon Sep 17 00:00:00 2001 From: khadija Date: Wed, 3 Feb 2021 19:53:42 +0300 Subject: [PATCH 1/2] function that counts online/offline nodes --- sensorsafrica/api/v2/views.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sensorsafrica/api/v2/views.py b/sensorsafrica/api/v2/views.py index b334231..6a435a5 100644 --- a/sensorsafrica/api/v2/views.py +++ b/sensorsafrica/api/v2/views.py @@ -425,6 +425,8 @@ def meta_data(request): return Response({ "sensor_networks": get_sensors_networks(), "nodes_count": nodes_count, + "online_nodes_count": get_online_nodes(), + "offline_nodes_count": get_offline_nodes(), "sensors_count": sensors_count, "sensor_data_count": sensor_data_count, "sensors_locations": sensors_locations, @@ -432,6 +434,14 @@ def meta_data(request): "database_last_updated": database_last_updated, }) +def get_online_nodes(): + nodes_count = Node.objects.filter(last_notify__gte=timezone.now() - datetime.timedelta(days=14)).count() + return nodes_count + +def get_offline_nodes(): + nodes_count = Node.objects.filter(Q(last_notify__isnull=True) | Q(last_notify__lte=timezone.now() - datetime.timedelta(days=14))).count() + return nodes_count + def get_sensors_networks(): user = User.objects.filter(username=settings.NETWORKS_OWNER).first() if user: From ab3b423c3eceb305522d4d96e56355f496d1be26 Mon Sep 17 00:00:00 2001 From: khadija Date: Thu, 4 Feb 2021 08:28:15 +0300 Subject: [PATCH 2/2] active count only --- sensorsafrica/api/v2/views.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/sensorsafrica/api/v2/views.py b/sensorsafrica/api/v2/views.py index 6a435a5..a5f49ed 100644 --- a/sensorsafrica/api/v2/views.py +++ b/sensorsafrica/api/v2/views.py @@ -424,9 +424,10 @@ def meta_data(request): return Response({ "sensor_networks": get_sensors_networks(), - "nodes_count": nodes_count, - "online_nodes_count": get_online_nodes(), - "offline_nodes_count": get_offline_nodes(), + "nodes": { + "active": get_active_nodes(), + "count": nodes_count + }, "sensors_count": sensors_count, "sensor_data_count": sensor_data_count, "sensors_locations": sensors_locations, @@ -434,14 +435,10 @@ def meta_data(request): "database_last_updated": database_last_updated, }) -def get_online_nodes(): +def get_active_nodes(): nodes_count = Node.objects.filter(last_notify__gte=timezone.now() - datetime.timedelta(days=14)).count() return nodes_count -def get_offline_nodes(): - nodes_count = Node.objects.filter(Q(last_notify__isnull=True) | Q(last_notify__lte=timezone.now() - datetime.timedelta(days=14))).count() - return nodes_count - def get_sensors_networks(): user = User.objects.filter(username=settings.NETWORKS_OWNER).first() if user: