PreflightResponse.fromJson constructor

PreflightResponse.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory PreflightResponse.fromJson(Map<String, dynamic> json) {
  // Handle session ID
  String sessionId;
  if (json.containsKey('session_id')) {
    sessionId = json['session_id'] ?? '';
  } else if (json.containsKey('session')) {
    sessionId = json['session'] ?? '';
  } else {
    throw Exception("Neither session_id nor session key found");
  }

  return PreflightResponse(
    entityIdDocumentType: IdDocumentType.fromJson(json['entity_id_document_type']),
    entityIdState: json['entity_id_state'] != null
        ? IdDocumentState.fromJson(json['entity_id_state'])
        : null,
    extraData: json['extra_data'] != null
        ? ExtraData.fromJson(json['extra_data'])
        : null,
    sessionId: sessionId,
    screen: Screen.fromJson(json['screen'] ?? {}),
    requirement: json['requirement'] != null
        ? Requirement.fromJson(json['requirement'] is String
        ? {'requirement_type': json['requirement']}
        : json['requirement'])
        : null,
    proofOfAddress: json['proof_of_address'] != null
        ? ProofOfAddressStatus.fromJson(json['proof_of_address'])
        : null,
    proofOfFunds: json['proof_of_funds'] != null
        ? ProofOfFundsStatus.fromJson(json['proof_of_funds'])
        : null,
  );
}