fetchRewardDetails static method

Future<RewardDetailModel?> fetchRewardDetails({
  1. required String rewardId,
})

Implementation

static Future<RewardDetailModel?> fetchRewardDetails(
    {required String rewardId}) async {
  final deviceServerToken = GlobalAdVariables.deviceServerToken;

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

  try {
    final res = await Dio().get(
      "${baseUrl}reward-details/${deviceServerToken.devicePublicKey}/$rewardId",
      options: Options(
          headers: {"device-public-key": deviceServerToken.devicePublicKey}),
    );

    if (res.data['success'] ?? false) {
      return RewardDetailModel.fromJson(res.data);
    }

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