Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func signUp(_ email: String, usersname: String, password: String, data: Data!, loginHandler: LoginHandler?) {
- FIRAuth.auth()?.createUser(withEmail: email, password: password, completion: { (user, error) in
- if error != nil {
- // Show error to user
- self.handleFirebaseErrors(err: error as! NSError, loginHandler: loginHandler)
- } else { // success creating user
- if user?.uid != nil { // if there is a valid user id
- // Store user to database
- self.setUserInfo(user, usersname: usersname, email: email, password: password, data: data!)
- // Log In the user
- self.login(email: email, password: password, loginHandler: loginHandler)
- }
- }
- })
- }
- func saveUser(_ user: FIRUser!, usersname: String, email: String, password: String) {
- // Create the user dictionary info
- let userInfo = ["email": user.email!, "password": password, "usersname": usersname, "uid": user.uid, "photoUrl": String(describing: user.photoURL!)]
- // create user reference
- let userRef = DataService.Instance.dbRef.child("riders").child(user.uid)
- // Save the user info in the database
- userRef.setValue(userInfo)
- }
- func login(email: String, password: String, loginHandler: LoginHandler?) {
- FIRAuth.auth()?.signIn(withEmail: email, password: password, completion: { (user, error) in
- if error != nil {
- self.handleFirebaseErrors(err: error as! NSError, loginHandler: loginHandler)
- } else {
- loginHandler?(nil, nil)
- }
- })
- }
- let userRef = DataService.Instance.dbRef.child("riders").child(usersname)
- fatal error: unexpectedly found nil while unwrapping an Optional value
- let imageUrl = String(user.photoUrl)
- if FIRAuth.auth()?.currentUser == nil {
- let vc = UIStoryboard(name: "Rider", bundle: nil).instantiateViewController(withIdentifier: "Login")
- present(vc, animated: true, completion: nil)
- } else {
- dbRef.child("riders/(FIRAuth.auth()!.currentUser!.uid)").observe(.value, with: { (snapshot) in
- DispatchQueue.main.async(execute: {
- let user = User(snapshot: snapshot)
- self.username.text = user.usersname
- self.email.text = FIRAuth.auth()?.currentUser?.email
- let imageUrl = String(user.photoUrl)
- {
- "riders" : {
- "rider 1" : {
- "email" : "rider1@me.com",
- "password" : "whatever",
- "photoUrl" : "https://firebasestorage.googleapis.com/...",
- "usersname" : "rider 1"
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement