fromJson static method

Session fromJson(
  1. dynamic json
)

Conversion helper method.

Implementation

static Session fromJson(dynamic json) {
  dynamic jsonData = json;

  try {
    String jsonDataString = json.toString();
    jsonData = jsonDecode(jsonDataString);
  } catch (e) {
    jsonData = json;
  }

  var widgetUserAgentJson = jsonData['widgetUserAgent'];
  var userParametersJson = jsonData['userParameters'];
  var riskAnalyticsJson = jsonData['riskAnalytics'];
  var mobileTemplateResponseJson = jsonData['mobileTemplateResponse'];

  WidgetUserAgent? widgetUserAgent;
  UserParameters? userParameters;
  RiskAnalytics? riskAnalytics;
  MobileTemplateResponse? mobileTemplateResponse;

  if (widgetUserAgentJson != null) {
    widgetUserAgent = WidgetUserAgent.fromJson(widgetUserAgentJson);
  }

  if (userParametersJson != null) {
    userParameters = UserParameters.fromJson(userParametersJson);
  }

  if (riskAnalyticsJson != null) {
    riskAnalytics = RiskAnalytics.fromJson(riskAnalyticsJson);
  }

  if (mobileTemplateResponseJson != null) {
    mobileTemplateResponse =
        MobileTemplateResponse.fromJson(mobileTemplateResponseJson);
  }

  return Session(
    jsonData['widgetOrigin'] as String?,
    jsonData['sessionId'] as String,
    widgetUserAgent,
    userParameters,
    jsonData['iPAddressMobile'] as String? ?? '',
    jsonData['iPAddressWidget'] as String? ?? '',
    riskAnalytics,
    jsonData['publicUserId'] as String?,
    mobileTemplateResponse,
  );
}