getUserRewards function

Future<List<UserReward>?> getUserRewards(
  1. String userId
)

Implementation

Future<List<UserReward>?> getUserRewards(String userId) async {
  var headers = {
    'Content-Type': 'application/json',
    'apiKey': Nudge.getInstance().apiKey,
  };

  // var data = {
  //   "uid": userId,
  // };

  var response = await http.get(
    Uri.parse('$nudgeUrl/sdk/$userId/rewards?limit=10'),
    headers: headers,
  );

  if (response.statusCode == 200) {
    if (jsonDecode(response.body)["data"].isEmpty) {
      return null;
    }

    return jsonDecode(response.body)["data"]
        .map<UserReward>(
          (reward) => UserReward.fromJson(reward),
        )
        .toList();
  } else {
    throw Exception(
      'Failed to get user rewards. Status code: ${response.statusCode}',
    );
  }
}