aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfengyuanxing <feng.yuanxing@zte.com.cn>2018-01-25 15:01:32 +0800
committeryunlong ying <ying.yunlong@zte.com.cn>2018-01-25 09:36:08 +0000
commit18cbe1ff803192aacd880efb001982c6da916339 (patch)
tree0ddda48fd4fa8022d04e8e1c504a82d7f16f6cdd
parent14531852c471291a0631186c9d96c587df3ab0be (diff)
Add validataion code of swagger code
Change-Id: I9ffe176e3890476c627f75b7de5d4563f7123df2 Issue-ID: VFC-677 Signed-off-by: fengyuanxing <feng.yuanxing@zte.com.cn>
-rw-r--r--catalog/jobs/views.py26
1 files changed, 22 insertions, 4 deletions
diff --git a/catalog/jobs/views.py b/catalog/jobs/views.py
index 4d49dc3a..c52b8a2b 100644
--- a/catalog/jobs/views.py
+++ b/catalog/jobs/views.py
@@ -58,12 +58,30 @@ class JobView(APIView):
jobs = JobUtil.query_job_status(job_id)
if len(jobs) > 0 and jobs[-1].errcode == '255':
return Response(data={'result': 'ok'})
- progress = request.data.get('progress')
- desc = request.data.get('desc', '%s' % progress)
- errcode = '0' if request.data.get('errcode') in ('true', 'active') else '255'
+
+ serializer = PostJobRequestSerializer(data=request.data)
+ request_isValid = serializer.is_valid()
+ if not request_isValid:
+ message = 'Invalid request'
+ logger.error(message)
+ return Response(data={'result': 'error', 'msg': message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+
+ requestData = serializer.data
+ progress = ignore_case_get(requestData, "progress")
+ desc = ignore_case_get(requestData, "desc", '%s' % progress)
+ errcode = '0' if ignore_case_get(requestData, 'errcode') in ('true', 'active') else '255'
logger.debug("errcode=%s", errcode)
JobUtil.add_job_status(job_id, progress, desc, error_code=errcode)
- return Response(data={'result': 'ok'}, status=status.HTTP_202_ACCEPTED)
+
+ response = Response(data={'result': 'ok'}, status=status.HTTP_202_ACCEPTED)
+ responseSerializer = PostJobResponseResultSerializer(response.data)
+ isValid = responseSerializer.is_valid()
+ if not isValid:
+ message = 'Invalid resposne'
+ logger.error(message)
+ return Response(data={'result': 'error', 'msg': message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+
+ return Response(data=responseSerializer.data, status=status.HTTP_202_ACCEPTED)
except Exception as e:
logger.error(e.message)
logger.error(traceback.format_exc())