NONRTRIC-955: Add uvicorn, fix for appl/json
[sim/a1-interface.git] / near-rt-ric-simulator / src / STD_1.1.3 / a1.py
index d7169b1..ece4f39 100644 (file)
@@ -1,5 +1,5 @@
 #  ============LICENSE_START===============================================
-#  Copyright (C) 2020 Nordix Foundation. All rights reserved.
+#  Copyright (C) 2021 Nordix Foundation. All rights reserved.
 #  ========================================================================
 #  Licensed under the Apache License, Version 2.0 (the "License");
 #  you may not use this file except in compliance with the License.
@@ -23,10 +23,10 @@ import collections
 import time
 
 from connexion import NoContent
-from flask import Flask, escape, request, Response, make_response
+from flask import Flask, request, Response
 from var_declaration import policy_instances, policy_status, callbacks, forced_settings, policy_fingerprint, hosts_set
 from utils import calcFingerprint
-from maincommon import check_apipath, apipath, get_supported_interfaces_response, extract_host_name
+from maincommon import check_apipath, apipath, get_supported_interfaces_response, extract_host_name, is_duplicate_check
 
 #Constsants
 APPL_JSON='application/json'
@@ -40,8 +40,9 @@ def get_all_policy_identities():
   if ((r := check_modified_response()) is not None):
     return r
 
-  return (list(policy_instances.keys()), 200)
-
+  res = list(policy_instances.keys())
+  return Response(json.dumps(res), 200, mimetype=APPL_JSON)
+  
 # API Function: Create or update a policy
 def put_policy(policyId):
 
@@ -61,9 +62,16 @@ def put_policy(policyId):
   retcode=201
   if policyId in policy_instances.keys():
     retcode=200
-    fp_previous=calcFingerprint(policy_instances[policyId])
+    if (is_duplicate_check()):
+      fp_previous=calcFingerprint(policy_instances[policyId])
+    else:
+      fp_previous=policyId
+
+  if (is_duplicate_check()):
+    fp=calcFingerprint(data)
+  else:
+    fp=policyId
 
-  fp=calcFingerprint(data)
   if (fp in policy_fingerprint.keys()):
     p_id=policy_fingerprint[fp]
     if (p_id != policyId):
@@ -113,7 +121,11 @@ def delete_policy(policyId):
     return r
 
   if policyId in policy_instances.keys():
-    fp_previous=calcFingerprint(policy_instances[policyId])
+    if (is_duplicate_check()):
+      fp_previous=calcFingerprint(policy_instances[policyId])
+    else:
+      fp_previous=policyId
+
     policy_fingerprint.pop(fp_previous)
     policy_instances.pop(policyId)
     policy_status.pop(policyId)