fetchPublicGroupsFromServer method

Future<ChatCursorResult<ChatGroupInfo>> fetchPublicGroupsFromServer(
  1. {int pageSize = 200,
  2. String? cursor}
)

Gets public groups from the server with pagination.

Param pageSize The number of public groups per page.

Param cursor The cursor position from which to start to get data next time. Sets the parameter as null for the first time.

Return The result of ChatCursorResult, including the cursor for getting data next time and the group list. If ChatCursorResult.cursor is an empty string (""), all data is fetched.

Throws A description of the exception. See ChatError.

Implementation

Future<ChatCursorResult<ChatGroupInfo>> fetchPublicGroupsFromServer({
  int pageSize = 200,
  String? cursor,
}) async {
  Map req = {'pageSize': pageSize};
  req.putIfNotNull("cursor", cursor);
  Map result = await _channel.invokeMethod(
      ChatMethodKeys.getPublicGroupsFromServer, req);
  try {
    ChatError.hasErrorFromResult(result);
    return ChatCursorResult<ChatGroupInfo>.fromJson(
        result[ChatMethodKeys.getPublicGroupsFromServer],
        dataItemCallback: (value) {
      return ChatGroupInfo.fromJson(value);
    });
  } on ChatError catch (e) {
    throw e;
  }
}