connectGuestUser method

Future<OwnUser> connectGuestUser(
  1. User user,
  2. {bool connectWebSocket = true}
)

Connects the current user as guest, this triggers a connection to the API. It returns a Future that resolves when the connection is setup.

Implementation

Future<OwnUser> connectGuestUser(
  User user, {
  bool connectWebSocket = true,
}) async {
  final userId = user.id;
  final anonymousToken = Token.anonymous(userId: userId);

  // setting anonymous token so that getGuestUser works
  _tokenManager.setTokenOrProvider(userId, token: anonymousToken);

  final guestUser = await _chatApi.guest.getGuestUser(user);

  // resetting tokenManager after successful request
  _tokenManager.reset();

  final guestUserToken = Token.fromRawValue(guestUser.accessToken);
  return _connectUser(
    guestUser.user,
    token: guestUserToken,
    connectWebSocket: connectWebSocket,
  );
}