fromJsonString static method
Implementation
static Future<ReclaimProofRequest> fromJsonString(String jsonString) async {
try {
final Map<String, dynamic> json = jsonDecode(jsonString);
validateFunctionParams([
ParamValidation(
paramName: 'applicationId',
input: json['applicationId'],
isString: true),
ParamValidation(
paramName: 'providerId', input: json['providerId'], isString: true),
ParamValidation(
paramName: 'signature', input: json['signature'], isString: true),
ParamValidation(
paramName: 'sessionId', input: json['sessionId'], isString: true),
ParamValidation(
paramName: 'sdkVersion', input: json['sdkVersion'], isString: true),
ParamValidation(
paramName: 'timeStamp', input: json['timeStamp'], isString: true),
], 'fromJsonString');
// parse the requested proof
final requestedProof = RequestedProof.fromJson(json['requestedProof']);
validateRequestedProof(requestedProof);
if (json['redirectUrl'] != null) {
validateURL(json['redirectUrl'], 'fromJsonString');
}
if (json['appCallbackUrl'] != null) {
validateURL(json['appCallbackUrl'], 'fromJsonString');
}
if (json['context'] != null) {
final context = Context.fromJson(json['context']);
validateContext(context);
}
final proofRequestInstance = ReclaimProofRequest._(
json['applicationId'],
json['providerId'],
json['options'] != null
? ProofRequestOptions.fromJson(json['options'])
: null,
);
proofRequestInstance._sessionId = json['sessionId'];
proofRequestInstance._context = Context.fromJson(json['context']);
proofRequestInstance._requestedProof =
RequestedProof.fromJson(json['requestedProof']);
proofRequestInstance._appCallbackUrl = json['appCallbackUrl'];
proofRequestInstance._sdkVersion = json['sdkVersion'];
proofRequestInstance._redirectUrl = json['redirectUrl'];
proofRequestInstance._signature = json['signature'];
proofRequestInstance._timeStamp = json['timeStamp'];
return proofRequestInstance;
} catch (error) {
logger.info('Failed to parse JSON string in fromJsonString: $error');
throw invalidParamError('Invalid JSON string provided to fromJsonString');
}
}