From 88adb3ffb7708267fadadc7ebc71363953da93f9 Mon Sep 17 00:00:00 2001
From: Marco Malavolti <marco.malavolti@gmail.com>
Date: Wed, 2 Dec 2020 17:19:03 +0100
Subject: [PATCH] Resolved Issue #3

---
 api.py | 48 +++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 43 insertions(+), 5 deletions(-)

diff --git a/api.py b/api.py
index 8cfa6e3..58d0c65 100755
--- a/api.py
+++ b/api.py
@@ -46,6 +46,17 @@ def existsInFile(file_path, value, research_item, eccsDataTable, date):
               return True
     return False
 
+def getSimpleDict(aux):
+    simpleDict = {
+       "date": aux['date'],
+       "displayName": aux['displayName'],
+       "entityID": aux['entityID'],
+       "registrationAuthority": aux['registrationAuthority'],
+       "status": aux['status'],
+       "checkResult": [aux["sp1"]["checkResult"],aux["sp2"]["checkResult"]]
+    }
+    return simpleDict
+
 
 ### Classes
 
@@ -65,6 +76,7 @@ class EccsResults(Resource):
        idp = None
        reg_auth = None
        eccsDataTable = False
+       simple = False
 
        if 'eccsdt' in request.args:
           eccsDataTable = True
@@ -83,6 +95,9 @@ class EccsResults(Resource):
           reg_auth = request.args['reg_auth']
           if (not existsInFile(file_path, reg_auth, "registrationAuthority", eccsDataTable, date)):
              return jsonify(error="Identity Providers not found with the Registration Authority: %s" % reg_auth)
+       if 'format' in request.args:
+          if 'simple' == request.args['format']:
+             simple = True
 
        lines = []
        results = []
@@ -115,19 +130,42 @@ class EccsResults(Resource):
 
           if (idp and status):
               if (idp == aux['entityID'] and status == aux['status']):
-                 results.append(aux)
+                 if (simple):              
+                    auxSimple = getSimpleDict(aux)
+                    results.append(auxSimple)
+                 else:
+                    results.append(aux)
           elif (reg_auth and status):
               if (reg_auth == aux['registrationAuthority'] and status == aux['status']):
-                 results.append(aux)
+                 if (simple):              
+                    auxSimple = getSimpleDict(aux)
+                    results.append(auxSimple)
+                 else:
+                    results.append(aux)
           elif (idp):
               if (idp == aux['entityID']):
-                 results.append(aux)
+                 if (simple):              
+                    auxSimple = getSimpleDict(aux)
+                    results.append(auxSimple)
+                 else:
+                    results.append(aux)
           elif (reg_auth):
               if (reg_auth == aux['registrationAuthority']):
-                 results.append(aux)
+                 if (simple):              
+                    auxSimple = getSimpleDict(aux)
+                    results.append(auxSimple)
+                 else:
+                    results.append(aux)
           elif (status):
               if (status == aux['status']):
-                 results.append(aux)
+                 if (simple):              
+                    auxSimple = getSimpleDict(aux)
+                    results.append(auxSimple)
+                 else:
+                    results.append(aux)
+          elif (simple):
+              auxSimple = getSimpleDict(aux)
+              results.append(auxSimple)
           else:
              results.append(aux)
 
-- 
GitLab