getAllPets method

Future<List<PetModel>> getAllPets(
  1. Map<String, dynamic> queryParameters
)

Implementation

Future<List<PetModel>> getAllPets(Map<String, dynamic> queryParameters) async {
  http.Response response;

  final sharedPreferencesService = await SharedPreferencesService.getInstance();

  try {
    String petTypes = queryParameters["petTypes"].isNotEmpty ? queryParameters["petTypes"]!.join(',') : '';
    String breedTypes = queryParameters["breedTypes"].isNotEmpty ? queryParameters["breedTypes"]!.join(',') : '';
    int minPrice = queryParameters["priceRange"][0].isNotEmpty ? int.parse(queryParameters["priceRange"][0]) : 5000;
    int maxPrice = queryParameters["priceRange"][1].isNotEmpty ? int.parse(queryParameters["priceRange"][1]) : 100000;
    String sizes = queryParameters["sizes"].isNotEmpty ? queryParameters["sizes"].join(',') : '';
    String sortBy = queryParameters["sortBy"]!= '' ? queryParameters["sortBy"].toString() : 'Newly Added';

    var token = await sharedPreferencesService.getToken();

    response = await getHttp("/pets?petTypes=$petTypes&breedTypes=$breedTypes&minPrice=$minPrice&maxPrice=$maxPrice&sizes=$sizes&sortBy=$sortBy", token);

    if (response.statusCode == 200) {
      var listResponse = json.decode(response.body);
      for (int i = 0; i < listResponse.length; i++) {
        petList.add(PetModel.getData(listResponse[i]));
      }
    } else {
      print(response.statusCode);
    }
  } catch (e) {
    print(e);
    throw e;
  }
  return petList;
}