# limitations under the License.
+import json
import logging
import os
import uuid
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__)
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: