register method
Implementation
Future<ffi.Client> register(
String username,
String password,
String displayName,
String token,
) async {
// To be removed when client management is implemented.
for (final client in _clients) {
if (client.userId().toString() == username) {
return client;
}
}
String appDocPath = await appDir();
String appCachePath = await appCacheDir();
final client = await _api.registerWithToken(
appDocPath,
appCachePath,
username,
password,
token,
defaultServerName,
defaultServerUrl,
userAgent,
);
final account = client.account();
await account.setDisplayName(displayName);
if (_clients.length == 1 && _clients[0].isGuest()) {
// we are replacing a guest account
_clients.removeAt(0);
}
_clients.add(client);
await _persistSessions();
return client;
}