From: laili Date: Thu, 23 Aug 2018 06:27:04 +0000 (+0800) Subject: Ns descriptor related stuffs. X-Git-Tag: 1.2.0~75^2~4 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F03%2F62003%2F1;p=vfc%2Fnfvo%2Fcatalog.git Ns descriptor related stuffs. Implement the biz for creation of a pnfd. Add a serializer pnfd_infos. Change-Id: Id9ecde485a102623bc084672a1119b3f6a56061c Issue-ID: VFC-1037 Signed-off-by: laili --- diff --git a/catalog/packages/biz/pnf_descriptor.py b/catalog/packages/biz/pnf_descriptor.py index d6710c43..a711fa50 100644 --- a/catalog/packages/biz/pnf_descriptor.py +++ b/catalog/packages/biz/pnf_descriptor.py @@ -20,6 +20,7 @@ import uuid 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 logger = logging.getLogger(__name__) @@ -33,6 +34,12 @@ def create(data): 'userDefinedData': user_defined_data, '_links': None # TODO } + PnfPackageModel( + pnfPackageId=data['id'], + onboardingState=data['pnfdOnboardingState'], + usageState=data['pnfdUsageState'], + userDefinedData=data['userDefinedData'] + ).save() return data diff --git a/catalog/packages/serializers/pnfd_infos.py b/catalog/packages/serializers/pnfd_infos.py index e69de29b..26df221c 100644 --- a/catalog/packages/serializers/pnfd_infos.py +++ b/catalog/packages/serializers/pnfd_infos.py @@ -0,0 +1,17 @@ +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from rest_framework import serializers +from pnfd_info import PnfdInfoSerializer + + +class PnfdInfosSerializer(serializers.ListSerializer): + child = PnfdInfoSerializer() diff --git a/catalog/packages/urls.py b/catalog/packages/urls.py index b656c755..e51fd413 100644 --- a/catalog/packages/urls.py +++ b/catalog/packages/urls.py @@ -32,7 +32,7 @@ urlpatterns = [ url(r'^api/nsd/v1/ns_descriptors/(?P[0-9a-zA-Z\-\_]+)/nsd_content$', ns_descriptor_views.nsd_content_ru, name='nsd_content_ru'), # PNF - url(r'^api/nsd/v1/pnf_descriptors$', pnf_descriptor_views.create_pnf_descriptors, name='pnf_descriptors_rc'), + url(r'^api/nsd/v1/pnf_descriptors$', pnf_descriptor_views.pnf_descriptors_rc, name='pnf_descriptors_rc'), url(r'^api/nsd/v1/pnf_descriptors/(?P[0-9a-zA-Z\-\_]+)/pnfd_content$', pnf_descriptor_views.pnfd_content_ru, name='pnfd_content_ru'), # TODO SOL005 & SOL003 diff --git a/catalog/packages/views/pnf_descriptor_views.py b/catalog/packages/views/pnf_descriptor_views.py index fecba347..a55fb272 100644 --- a/catalog/packages/views/pnf_descriptor_views.py +++ b/catalog/packages/views/pnf_descriptor_views.py @@ -63,7 +63,7 @@ def query_single_pnfd(self, request): } ) @api_view(http_method_names=['POST']) -def create_pnf_descriptors(request, *args, **kwargs): +def pnf_descriptors_rc(request, *args, **kwargs): try: create_pnfd_info_request = CreatePnfdInfoRequestSerializer(data=request.data) if not create_pnfd_info_request.is_valid():