getSuggestedGroupsData method

Future<List<CommunitiesList>> getSuggestedGroupsData(
  1. int pageNumber
)

Implementation

Future<List<CommunitiesList>> getSuggestedGroupsData(
    final int pageNumber) async {
  try {
    /*final client = Sigv4Client(
      accessKey: ApiConfig.secretKey,
      keyId: ApiConfig.accessKey,
      region: ApiConfig.region,
      serviceName: ApiConfig.service,
    );*/

    const querySize = "5";
    const type = "BUSINESS";
    const longitude = "77.616961";
    const latitude = "12.954044999999999";
    const radius = "25";

    /*final query = {
      "page": pageNumber,
      "size": querySize,
      "longitude": longitude,
      "type": type,
      "latitude": latitude,
      "radius": radius
    };
    final request = client.request(ApiConfig.communityGetPath, query: query);

    request.headers.addAll(<String, String>{
      "x-api-key": ApiConfig.apiKey,
      "cdauthtoken": "Bearer ${ApiConfig.idToken}"
    });
    final value = await http.get(request.url, headers: request.headers);*/

    final SharedPreferences prefs = await _prefs;
    final String? userId = prefs.getString(ApiConfig.kcUserId); // To Do
    final String? apiKey = prefs.getString(ApiConfig.kcAPIKey);
    final Dio dio = Dio();
    final value = await dio.get(
      ApiConfig.communityInfoPath,
      options: Options(
        headers: {"x-api-key": apiKey, "content-type": "application/json"},
      ),
      queryParameters: {
        "page": pageNumber,
        "size": querySize,
        "radius": radius
      },
    );
    final jsonData = value.data;

    // final jsonData = jsonDecode(utf8.decode(value.bodyBytes));
    final List<CommunitiesList> feedPostUsers = [];
    // ignore: avoid_dynamic_calls
    for (final feed in jsonData["_embedded"]["communityList"]) {
      // ignore: avoid_dynamic_calls
      final CommunitiesList groupList =
      CommunitiesList.fromJson(feed as Map<String, dynamic>);
      feedPostUsers.add(groupList);
    }
    return feedPostUsers;
  } catch (error) {
    rethrow;
  }
}