fetchAvailableRewards function

Future<List<AvailableReward>> fetchAvailableRewards()

Implementation

Future<List<AvailableReward>> fetchAvailableRewards() async {
  try {
    String? availableRewardsString = await platform.invokeMethod(
      'fetchAvailableRewards',
    );
    if (kDebugMode) {
      print("Received AvailableRewards from sdk: $availableRewardsString");
    }
    if (availableRewardsString == null || availableRewardsString.isEmpty) {
      return [];
    }

    var decodedList = jsonDecode(availableRewardsString);

    List<AvailableReward> list = List<AvailableReward>.from(
      decodedList.map((model) {
        AvailableReward availableReward = AvailableReward.fromJson(model);

        return availableReward;
      }),
    );

    return list;
  } catch (e, stacktrace) {
    if (kDebugMode) {
      print("Error in fetchAvailableRewards");
      print(e);
      print(stacktrace);
    }
    return [];
  }
}