addUser method
Implementation
Future<SetonixUser?> addUser(
Channel channel, [
String? fingerprint,
String? name,
]) async {
SetonixUser? user;
if (fingerprint != null) {
user = await service?.getUser(fingerprint);
if (user == null) throw KickMessage(reason: KickReason.notRegistered);
name = user.name;
if (whitelistEnabled && !user.onWhitelist) {
throw KickMessage(reason: KickReason.notWhitelisted);
}
}
name ??= _generateGuestName();
if (containsUserName(name)) {
return null;
}
if (user == null) {
user = SetonixUser(fingerprint: fingerprint, name: name);
if (fingerprint != null) {
await service?.updateUser(fingerprint, name: name, onWhitelist: false);
}
}
_users[channel] = user;
return user;
}