fetchUserAddress method

void fetchUserAddress(
  1. BuildContext context
)

Implementation

void fetchUserAddress(BuildContext context) async {
  try {
    isLoading(true);
    var request = {
      'token': Storage.getValue(Constants.token),
      'api_key': Constants.apiKey,
      'sub_client_api_key': Storage.getValue(Constants.subClientApiKey)
    };
    var response = await DioClient().request(
        context: context,
        api: '/address/get',
        method: Method.POST,
        params: request);

    GetAddressResponse getAddressResponse =
        GetAddressResponse.fromJson(response);
    if (getAddressResponse.status == Strings.success) {
      addresses = getAddressResponse.data!.obs;
      isError(false);
    } else {
      isError(true);
      errorMessage.value = response['message'].toString().toTitleCase();
      if (errorMessage.value == 'Token Not Valid') {
        Utils.navigationReplace(context, const Login());
        return Utils.showSnackbar(context, Strings.error,
            'Token has expired please login again!.', AppColors.red);
      }
      return Utils.showSnackbar(context, Strings.error,
          response['message'].toString().toTitleCase(), AppColors.red);
    }
  } finally {
    isLoading(false);
  }
  update();
}