shufti_pro method

Map<String, Object> shufti_pro()

Implementation

Map<String, Object> shufti_pro() {
  createdPayloadSDK["redirect_url"] = "http://www.example.com";
  if (asyncSDK == null) {
    asyncSDK = false;
  }

  if (!createdPayloadSDK.containsKey("verification_mode") ||
      createdPayloadSDK.containsKey("verification_mode") == null) {
    createdPayloadSDK["verification_mode"] = "image_only";
  }
  if (!createdPayloadSDK.containsKey("show_consent")) {
    createdPayloadSDK["show_consent"] = 1;
  }
  if (!createdPayloadSDK.containsKey("show_results")) {
    createdPayloadSDK["show_results"] = 1;
  }
  if (!createdPayloadSDK.containsKey("show_privacy_policy")) {
    createdPayloadSDK["show_privacy_policy"] = 1;
  }
  if (createdPayloadSDK.containsKey("face")) {
    if (createdPayloadSDK['face'].toString() == "{}") {
      createdPayloadSDK['face'] = {"": ""};
    }

    verificationTypeList.add("face");
    indexTempList.add(createdPayloadSDK.toString().indexOf(' face:'));

    createdPayloadTemp = createdPayloadSDK["face"] as Map<String,Object>;
    createdPayloadTemp["proof"] = "";
    createdPayloadSDK["face"] = createdPayloadTemp;
  }
  if (createdPayloadSDK.containsKey("document")) {
    if (createdPayloadSDK['document'].toString() == "{}") {
      createdPayloadSDK['document'] = {
        "supported_types": [
          "passport",
          "id_card",
          "driving_license",
          "credit_or_debit_card",
        ],
        "name": {
          "first_name": "John",
          "last_name": "",
          "middle_name": "",
        },
        "dob": "",
        "document_number": "",
        "expiry_date": "",
        "issue_date": "",
        "fetch_enhanced_data": "",
        "gender": "",
        "backside_proof_required": "0",
      };
    } else {
      createdPayloadTemp = createdPayloadSDK["document"] as Map<String,Object>;
      createdPayloadTemp["proof"] = "";
      createdPayloadTemp["additional_proof"] = "";
      createdPayloadSDK["document"] = createdPayloadTemp;
    }
    verificationTypeList.add("document");
    indexTempList.add(createdPayloadSDK.toString().indexOf(' document:'));
  }
  if (createdPayloadSDK.containsKey("document_two")) {
    if (createdPayloadSDK['document_two'].toString() == "{}") {
      createdPayloadSDK['document_two'] = {
        "supported_types": [
          "passport",
          "id_card",
          "driving_license",
          "credit_or_debit_card"
        ],
        "name": {"first_name": "", "last_name": "", "middle_name": ""},
        "dob": "",
        "document_number": "",
        "expiry_date": "",
        "issue_date": "",
        "fetch_enhanced_data": "",
        "gender": "",
        "backside_proof_required": "0",
      };
    }

    verificationTypeList.add("document_two");
    indexTempList.add(createdPayloadSDK.toString().indexOf(' document_two:'));

    createdPayloadTemp = createdPayloadSDK["document_two"] as Map<String,Object>;
    createdPayloadTemp["proof"] = "";
    createdPayloadTemp["additional_proof"] = "";
    createdPayloadSDK["document_two"] = createdPayloadTemp;
  }
  if (createdPayloadSDK.containsKey("address")) {
    if (createdPayloadSDK['address'].toString() == "{}") {
      createdPayloadSDK['address'] = {
        "full_address": "",
        "name": {
          "first_name": "",
          "last_name": "",
          "middle_name": "",
          "fuzzy_match": "",
        },
        "supported_types": ["id_card", "utility_bill", "bank_statement"],
        "backside_proof_required": "0",
      };
    }

    verificationTypeList.add("address");
    indexTempList.add(createdPayloadSDK.toString().indexOf(' address:'));

    createdPayloadTemp = createdPayloadSDK["address"] as Map<String,Object>;
    createdPayloadTemp["proof"] = "";
    createdPayloadTemp["additional_proof"] = "";
    createdPayloadSDK["address"] = createdPayloadTemp;
  }
  if (createdPayloadSDK.containsKey("consent")) {
    if (createdPayloadSDK['consent'].toString() == "{}") {
      createdPayloadSDK['consent'] = {
        "supported_types": ["printed", "handwritten"],
        "text": "",
        "proof": "",
      };
    }
    else {
      createdPayloadTemp = createdPayloadSDK["consent"] as Map<String,Object>;
      if (!createdPayloadTemp.containsKey("supported_types")) {
        String consentText,
            consentAllowOnline,
            consentAllowOffline,
            consentWithFace;
        consentText = createdPayloadSDK["text"].toString();
        consentAllowOffline = createdPayloadSDK["allow_offline"].toString();
        consentAllowOnline = createdPayloadSDK["allow_online"].toString();
        consentWithFace = createdPayloadSDK["with_face"].toString();

        createdPayloadTemp = {
          "supported_types": ["printed", "handwritten"],
          "text": consentText,
          "allow_offline": consentAllowOffline,
          "allow_online": consentAllowOnline,
          "with_face": consentWithFace,
          "proof": "",
        };
        createdPayloadSDK["consent"] = createdPayloadTemp;
      }
    }

    verificationTypeList.add("consent");
    indexTempList.add(createdPayloadSDK.toString().indexOf(' consent:'));
  }

  for (int j = 0; j < verificationTypeList.length - 1; j++) {
    if (indexTempList[j] > indexTempList[j + 1]) {
      // Swapping the elements.
      int temp = indexTempList[j];
      String temp1 = verificationTypeList[j];
      indexTempList[j] = indexTempList[j + 1];
      verificationTypeList[j] = verificationTypeList[j + 1];
      indexTempList[j + 1] = temp;
      verificationTypeList[j + 1] = temp1;
      j = -1;
    }
  }
  return createdPayloadSDK;
}