toMap method

Map<String, dynamic> toMap()

Implementation

Map<String, dynamic> toMap() {
  final date = DateTime.now();
  return {
    'apiVersion': "1.0",
    'counterId' : counterId ?? '',
    'timestamp': date.toUtc().millisecondsSinceEpoch ~/ 1000,
    'channelType': "CustomScript",
    'user_id': userId.toString(),
    'channelName' : "RegEvents API",
    'eventCaption': eventType ?? '',
    'customparams': [
      if(latitude != null)
        {
          'name': 'latitude',
          'type': 'STRING',
          'value': latitude,
        },
      if(longitude != null)
        {
          'name': 'latitude',
          'type': 'STRING',
          'value': longitude,
        },
      if(osName != null)
        {
          'name': 'osName',
          'type': 'STRING',
          'value': osName,
        },
      if(deviceName != null)
        {
          'name': 'deviceName',
          'type': 'STRING',
          'value': deviceName,
        },
      if(libraryVersion != null)
        {
          'name': 'libraryVersion',
          'type': 'STRING',
          'value': libraryVersion,
        },
      if(ipAddress != null)
        {
          'name': 'ipAddress',
          'type': 'STRING',
          'value': ipAddress,
        },
      if(deviceId != null)
        {
          'name': 'deviceId',
          'type': 'STRING',
          'value': deviceId,
        },
      if(userId != null)
        {
          'name': 'userId',
          'type': 'STRING',
          'value': userId,
        },
      if(sessionId != null)
        {
          'name': 'sessionId',
          'type': 'STRING',
          'value': sessionId,
        },
      if(appScreen != null)
        {
          'name': 'appScreen',
          'type': 'STRING',
          'value': appScreen,
        },
      if(osVersion != null)
        {
          'name': 'osVersion',
          'type': 'STRING',
          'value': osVersion,
        },
      if(appVersion != null)
        {
          'name': 'appVersion',
          'type': 'STRING',
          'value': appVersion,
        },
      if(appName != null)
        {
          'name': 'appName',
          'type': 'STRING',
          'value': appName,
        },
      if(platform != null)
        {
          'name': 'platform',
          'type': 'STRING',
          'value': platform,
        },
      if(language != null)
        {
          'name': 'language',
          'type': 'STRING',
          'value': language,
        },
      if(resolutionWidth != null)
        {
          'name': 'resolutionWidth',
          'type': 'STRING',
          'value': resolutionWidth,
        },
      if(resolutionHeight != null)
        {
          'name': 'resolutionHeight',
          'type': 'STRING',
          'value': resolutionHeight,
        },
      ...?customParam?.keys.map((e) {
        if(customParam?[e] == null) return null;
        return {
          'name': e,
          'type': 'STRING',
          'value': customParam?[e],
        };
      }).nonNulls,
    ]
  };
}