ComplianceCSIDResponse.fromJson constructor
Parses JSON into the appropriate response type (Success, Error, or Failure).
Based on the status code, the JSON data is parsed into the corresponding response data class (success, error, or failure).
Implementation
factory ComplianceCSIDResponse.fromJson(
int statusCode, Map<String, dynamic> json) {
CSIDResponseStatus status = _getStatus(statusCode);
if (status == CSIDResponseStatus.success && json.containsKey('requestID')) {
return ComplianceCSIDResponse(
statusCode: statusCode,
status: status,
successData: ComplianceSuccessData.fromJson(json),
);
} else if (status == CSIDResponseStatus.clientError &&
json.containsKey('errors')) {
return ComplianceCSIDResponse(
statusCode: statusCode,
status: status,
errorData: ComplianceErrorData.fromJson(json),
);
} else if (status == CSIDResponseStatus.serverError &&
json.containsKey('code') &&
json.containsKey('message')) {
return ComplianceCSIDResponse(
statusCode: statusCode,
status: status,
failureData: ComplianceFailureData.fromJson(json),
);
} else {
return ComplianceCSIDResponse(
statusCode: statusCode, status: CSIDResponseStatus.unknown);
}
}