getUserByReference method
Implementation
Future<SetonixUser?> getUserByReference(String reference) async {
if (reference.isEmpty) return null;
switch (reference[0]) {
case kUserReferenceID:
final id = reference.substring(1);
if (id.isEmpty) return null;
final idInt = int.tryParse(id);
if (idInt == null) return null;
return getUser(idInt);
case kUserReferenceName:
final name = reference.substring(1);
return getUserByName(name);
case kUserReferenceFingerprint:
final fingerprint = reference.substring(1);
return service?.getUser(fingerprint);
default:
final id = int.tryParse(reference);
if (id != null) {
return getUser(id);
}
final user = getUserByName(reference);
if (user != null) {
return user;
}
return service?.getUserFromName(reference);
}
}