ComplianceCSIDResponse.fromJson constructor

ComplianceCSIDResponse.fromJson(
  1. int statusCode,
  2. Map<String, dynamic> json
)

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);
  }
}