+\r
+\r
+class SubscriptionDetailView(APIView):\r
+ @swagger_auto_schema(\r
+ responses={\r
+ status.HTTP_200_OK: LccnSubscriptionSerializer(),\r
+ status.HTTP_404_NOT_FOUND: ProblemDetailsSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: ProblemDetailsSerializer()\r
+ }\r
+ )\r
+ @view_safe_call_with_log(logger=logger)\r
+ def get(self, request, subscriptionid):\r
+ logger.debug("SubscriptionDetailView--get::> %s" % subscriptionid)\r
+\r
+ resp_data = QuerySubscription(\r
+ subscription_id=subscriptionid\r
+ ).query_single_subscription()\r
+\r
+ subscription_serializer = LccnSubscriptionSerializer(data=resp_data)\r
+ if not subscription_serializer.is_valid():\r
+ raise NFLCMException(subscription_serializer.errors)\r
+\r
+ return Response(data=resp_data, status=status.HTTP_200_OK)\r
+\r
+ @swagger_auto_schema(\r
+ responses={\r
+ status.HTTP_204_NO_CONTENT: "",\r
+ status.HTTP_404_NOT_FOUND: ProblemDetailsSerializer(),\r
+ status.HTTP_500_INTERNAL_SERVER_ERROR: ProblemDetailsSerializer()\r
+ }\r
+ )\r
+ @view_safe_call_with_log(logger=logger)\r
+ def delete(self, request, subscriptionid):\r
+ logger.debug("SubscriptionDetailView--delete::> %s" % subscriptionid)\r
+\r
+ DeleteSubscription(\r
+ subscription_id=subscriptionid\r
+ ).delete_single_subscription()\r
+\r
+ return Response(status=status.HTTP_204_NO_CONTENT)\r