From 6d55b9f33b415cfab206a22732807e1ad105b1f0 Mon Sep 17 00:00:00 2001
From: Erik Reid <erik.reid@geant.org>
Date: Wed, 11 Dec 2019 14:43:04 +0100
Subject: [PATCH] implemented /service/category route

---
 inventory_provider/routes/poller.py | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py
index 8497b2cc..fea6e948 100644
--- a/inventory_provider/routes/poller.py
+++ b/inventory_provider/routes/poller.py
@@ -82,3 +82,23 @@ def poller_interface_oids(hostname):
         result.append(ifc_data)
 
     return jsonify(result)
+
+
+@routes.route('/services/{category}', methods=['GET', 'POST'])
+@common.require_accepts_json
+def service_category_interfaces(category):
+
+    result = []
+
+    r = common.get_current_redis()
+    for k in r.scan_iter(f'interface-services:{category}:*'):
+        ifc = r.get(k.decode('utf-8'))
+        result.append(json.loads(ifc.decode('utf-8')))
+
+    if not result:
+        return Response(
+            response=f'no info available for service category {category}',
+            status=404,
+            mimetype="text/html")
+
+    return jsonify(result)
-- 
GitLab