searchChannels static method

  1. @Deprecated("use searchTPChannels(TPChannelQueryParams, Function(List<TPChannel>, bool))")
Future<bool> searchChannels(
  1. TPChannel? lastChannel,
  2. dynamic successCallback(
    1. List<TPChannel>,
    2. bool
    ), {
  3. String? channelName,
  4. List<String>? memberIds,
  5. String? category,
  6. String? subcategory,
  7. String? privateTag,
  8. dynamic errorCallback(
    1. int? errorCode,
    2. String? errorMessage
    )?,
})

Implementation

@Deprecated("use searchTPChannels(TPChannelQueryParams, Function(List<TPChannel>, bool))")
static Future<bool> searchChannels(TPChannel? lastChannel,
    Function(List<TPChannel>, bool) successCallback,
    {
      String? channelName,
      List<String>? memberIds,
      String? category,
      String? subcategory,
      String? privateTag,
      Function(int? errorCode, String? errorMessage)? errorCallback
    }) async
{
  if (!_isInitialized(errorCallback: errorCallback)) { return false; }
  if (!_checkAuthInfo(errorCallback: errorCallback)) { return false; }

  String url = "/channels?type=default";
  if (lastChannel != null) { url += "&lastChannelId=${lastChannel.getChannelId()}"; }
  if (channelName != null) { url += "&query=$channelName&filter=name"; }
  if (memberIds != null) { url += "&members=${memberIds.join(",")}"; }
  if (category != null) { url += "&category=$category"; }
  if (subcategory != null) { url += "&subcategory=$subcategory"; }
  if (privateTag != null) { url += "&privateTag=$privateTag"; }

  try {
    Map<String, dynamic> response = await HttpUtil.get(url);
    List<dynamic> channelArray = response["channels"];
    List<TPChannel> list = List.from([]);
    for (Map<String, dynamic> element in channelArray) {
      list.add(TPChannel(element));
    }
    // Succeeded
    successCallback(list, response["hasNext"]);
    return true;
  } on TPException catch(e) {
    Logger.log("$e");
    if(errorCallback != null) { errorCallback(e.getCode(), e.getMessage()); }
  } catch(e){
    Logger.log("$e");
    if(errorCallback != null) { errorCallback(-1, e.toString()); }
  }
  return false;
}