fetchJoinedGroupsFromServer method

Future<List<ChatGroup>> fetchJoinedGroupsFromServer({
  1. int pageSize = 20,
  2. int pageNum = 0,
  3. bool needMemberCount = false,
  4. bool needRole = false,
})

Gets the groups joined by the current user from the server with pagination.

Param pageNum The current page number, starting from 0. The SDK queries in reverse order of group joining. Param pageSize The number of groups to get per page. Value range: 1,20. Param needMemberCount Whether to get the group member count. Param needRole Whether to get the role of the current user in the group.

Returns The list of retrieved groups.

Throws Exception description, see ChatError.

Implementation

Future<List<ChatGroup>> fetchJoinedGroupsFromServer({
  int pageSize = 20,
  int pageNum = 0,
  bool needMemberCount = false,
  bool needRole = false,
}) async {
  try {
    Map req = {
      'pageSize': pageSize,
      'pageNum': pageNum,
      "needMemberCount": needMemberCount,
      "needRole": needRole,
    };
    Map result = await platform_interface.Client.instance.groupManager
        .callNativeMethod(ChatMethodKeys.getJoinedGroupsFromServer, req);
    ChatError.hasErrorFromResult(result);
    List<ChatGroup> list = [];
    result[ChatMethodKeys.getJoinedGroupsFromServer]
        ?.forEach((element) => list.add(ChatGroup.fromJson(element)));
    return list;
  } catch (e) {
    rethrow;
  }
}