@@ -321,28 +321,26 @@ def post(self, request) -> Response:
321321 continue
322322
323323 bco_results = validator .parse_and_validate (bco_instance .contents )
324- for identifier , result in bco_results .items ():
325- if result ["number_of_errors" ] > 0 :
326- response_data .append (response_constructor (
327- identifier = response_id ,
328- status = "REJECTED" ,
329- code = 400 ,
330- message = f"Publishing BCO { response_id } rejected" ,
331- data = bco_results
332- ))
333- rejected_requests = True
334-
335- else :
336- published_bco = publish_draft (bco_instance , requester , object )
337- identifier = published_bco .object_id
338- score = published_bco .score
339- response_data .append (response_constructor (
340- identifier = identifier ,
341- status = "SUCCESS" ,
342- code = 201 ,
343- message = f"BCO { identifier } has been published and assigned { score } as a score." ,
344- ))
345- accepted_requests = True
324+ identifier , results = bco_results .popitem ()
325+
326+ if results ["number_of_errors" ] > 0 :
327+ rejected_requests = True
328+ bco_status = "FAILED"
329+ status_code = 400
330+ message = "BCO not valid"
331+ else :
332+ accepted_requests = True
333+ bco_status = "SUCCESS"
334+ status_code = 200
335+ message = "BCO valid"
336+
337+ response_data .append (response_constructor (
338+ identifier = identifier ,
339+ status = bco_status ,
340+ code = status_code ,
341+ message = message ,
342+ data = results
343+ ))
346344
347345 status_code = response_status (accepted_requests , rejected_requests )
348346 return Response (status = status_code , data = response_data )
0 commit comments