def validate_match_approve()

in microservices/upload_service/src/utils/process_task_helpers.py [0:0]


def validate_match_approve(sup_doc: Dict, extraction_score,
                           extraction_entities):
  """Perform validation, matching and autoapproval for supporting documents"""
  validation_score = None
  matching_score = None
  case_id = sup_doc.get("case_id")
  uid = sup_doc.get("uid")
  document_class = sup_doc.get("document_class")
  document_type = "supporting_documents"
  validation_res = get_validation_score(case_id, uid, document_class,
                                        extraction_entities)
  if validation_res.status_code == 200:
    print("====Validation successful==========")
    Logger.info(f"Validation successful for case_id: {case_id} uid:{uid}.")
    validation_score = validation_res.json().get("score")
    matching_res = get_matching_score(case_id, uid)
    if matching_res.status_code == 200:
      print("====Matching successful==========")
      Logger.info(f"Matching successful for case_id: {case_id} uid:{uid}.")
      matching_score = matching_res.json().get("score")
      update_autoapproval(document_class, document_type, case_id, uid,
                          validation_score, extraction_score, matching_score)
    else:
      Logger.error(f"Matching FAILED for case_id: {case_id} uid:{uid}")
  else:
    Logger.error(f"Extraction FAILED for case_id: {case_id} uid:{uid}")
  return validation_score, matching_score