fetchRewardsGrouped static method

Future<DatedRewards?> fetchRewardsGrouped()

Implementation

static Future<DatedRewards?> fetchRewardsGrouped() async {
  final deviceServerToken = GlobalAdVariables.deviceServerToken;

  if (deviceServerToken == null) {
    log("fetchRewards:[Device Token]=> ${deviceServerToken?.devicePublicKey}");
    return null;
  }

  try {
    final res = await Dio().get(
      "${Urls().baseUrl}reward/${deviceServerToken.devicePublicKey}/${GlobalAdVariables.fullJson['reward_type_id']}/grouped",
      options: Options(
          headers: {"device-public-key": deviceServerToken.devicePublicKey}),
    );

    if (res.data['success'] ?? false) {
      final (dates, dateMap) = DatedRewards.fromJson(res.data['data']);
      return DatedRewards(dates, dateMap);
    }

    return null;
  } on DioException catch (dioError) {
    log("MultiAds:[fetchRewardsGrouped]->Dio Error[❌]-> Message -> ${dioError.message.toString()}");
    log("MultiAds:[fetchRewardsGrouped]->Dio Error[❌]-> Response -> ${dioError.response!.data.toString()}");
    return null;
  } catch (error) {
    log("MultiAds:[fetchRewardsGrouped]->Catch Error[❌]-> ${error.toString()}");
    return null;
  }
}