I am trying to verify if the username the user entered has been taken. The code currently checks if the email is in use and creates the user if they don't exist. How can I make this read the database to see if the username is already taken?
FIRAuth.auth()?.createUser(withEmail: email!, password: password!) { (user, error) in
if error?._code == (FIRAuthErrorCode.errorCodeInvalidEmail.rawValue)
{
var ref: FIRDatabaseReference!
ref = FIRDatabase.database().reference()
ref.child("Users").observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in
if snapshot.hasChild(name!){
ref.child("users").child((user?.uid)!).setValue(["username": name])
print("true rooms exist")
} else {
self.displayMyAlertMessage(userMessage: "Username already in use. Please choose another.")
print("false room doesn't exist")
}
})
} else {
self.displayMyAlertMessage(userMessage: "Email already in use. Please see the login page.")
return
}
}