X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=catalog%2Fpackages%2Fviews%2Fcommon.py;h=12840a547f41e1bbad93c6c935dc478e8d5c4a33;hb=c0fcb2e4cde1cd5338412e5ce83115626d068f7b;hp=6285cb9574ea59df433db22d56050b116baea2ab;hpb=a32c2b20207885d895bd96204cc166fca14db97b;p=modeling%2Fetsicatalog.git diff --git a/catalog/packages/views/common.py b/catalog/packages/views/common.py index 6285cb9..12840a5 100644 --- a/catalog/packages/views/common.py +++ b/catalog/packages/views/common.py @@ -18,7 +18,7 @@ import logging from rest_framework import status from rest_framework.response import Response -from catalog.pub.exceptions import CatalogException +from catalog.pub.exceptions import CatalogException, SubscriptionDoesNotExistsException from catalog.pub.exceptions import BadRequestException from catalog.pub.exceptions import NsdmBadRequestException from catalog.pub.exceptions import PackageNotFoundException @@ -39,6 +39,14 @@ def validate_data(data, serializer): return serialized_data +def validate_req_data(data, serializer): + serialized_data = serializer(data=data) + if not serialized_data.is_valid(): + logger.error('Data validation failed.') + raise BadRequestException(serialized_data.errors) + return serialized_data + + def fmt_error_rsp(error_message, status): return {"errorMessage": error_message, "error": status} @@ -100,6 +108,12 @@ def view_safe_call_with_log(logger): detail=e.args[0], status=status.HTTP_400_BAD_REQUEST ) + except SubscriptionDoesNotExistsException as e: + logger.error(e.args[0]) + return make_error_resp( + detail=e.args[0], + status=status.HTTP_404_NOT_FOUND + ) except VnfPkgSubscriptionException as e: logger.error(e.args[0]) return make_error_resp( @@ -119,5 +133,7 @@ def view_safe_call_with_log(logger): detail='Unexpected exception', status=status.HTTP_500_INTERNAL_SERVER_ERROR ) + return wrapper + return view_safe_call