Ns descriptor related stuffs. 93/62093/1
authorlaili <lai.li@zte.com.cn>
Thu, 23 Aug 2018 07:24:28 +0000 (15:24 +0800)
committerlaili <lai.li@zte.com.cn>
Thu, 23 Aug 2018 07:24:28 +0000 (15:24 +0800)
Implement the biz for query of multiple pnfds.

Change-Id: I779b9a36a3fa93d2aab40eb8666b29f41597fd8e
Issue-ID: VFC-1037
Signed-off-by: laili <lai.li@zte.com.cn>
catalog/packages/biz/ns_descriptor.py
catalog/packages/biz/pnf_descriptor.py

index ee0b005..7983c7d 100644 (file)
@@ -48,7 +48,7 @@ def create(data):
 
 def query_multiple():
     ns_pkgs = NSPackageModel.objects.all()
-    if not ns_pkgs:
+    if not ns_pkgs.exists():
         raise CatalogException('NS descriptors do not exist.')
     response_data = []
     for ns_pkg in ns_pkgs:
index a711fa5..ea9b9ae 100644 (file)
@@ -13,6 +13,7 @@
 # limitations under the License.
 
 
+import json
 import logging
 import os
 import uuid
@@ -21,6 +22,7 @@ from catalog.pub.config.config import CATALOG_ROOT_PATH
 from catalog.pub.utils import fileutil
 from catalog.pub.utils.values import ignore_case_get
 from catalog.pub.database.models import PnfPackageModel
+from catalog.pub.exceptions import CatalogException
 
 logger = logging.getLogger(__name__)
 
@@ -43,6 +45,33 @@ def create(data):
     return data
 
 
+def query_multiple():
+    pnf_pkgs = PnfPackageModel.objects.all()
+    if not pnf_pkgs.exists():
+        raise CatalogException('PNF descriptors do not exist.')
+    response_data = []
+    for pnf_pkg in pnf_pkgs:
+        data = {
+            'id': pnf_pkg.pnfPackageId,
+            'pnfdId': pnf_pkg.pnfdId,
+            'pnfdName': pnf_pkg.pnfdProductName,  # TODO: check
+            'pnfdVersion': pnf_pkg.pnfdVersion,
+            'pnfdProvider': pnf_pkg.pnfVendor,  # TODO: check
+            'pnfdInvariantId': None,  # TODO
+            'pnfdOnboardingState': pnf_pkg.onboardingState,
+            'onboardingFailureDetails': None,  # TODO
+            'pnfdUsageState': pnf_pkg.usageState,
+            'userDefinedData': {},
+            '_links': None  # TODO
+        }
+        if pnf_pkg.userDefinedData:
+            user_defined_data = json.JSONDecoder().decode(pnf_pkg.userDefinedData)
+            data['userDefinedData'] = user_defined_data
+        response_data.append(data)
+
+    return response_data
+
+
 def upload(files, pnfd_info_id):
     remote_files = files
     for remote_file in remote_files: