Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import UIKit
- import Firebase
- class LoginViewController: UIViewController {
- var ref: DatabaseReference!
- override func viewDidLoad() {
- super.viewDidLoad()
- }
- @IBOutlet weak var emailTextOutlet: UITextField!
- @IBOutlet weak var passwordTextOutlet: UITextField!
- @IBAction func loginAction(_ sender: UIButton) {
- guard let email = emailTextOutlet.text, let password = passwordTextOutlet.text else { return }
- Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
- if error != nil {
- print(error?.localizedDescription ?? "")
- } else {
- self.performSegue(withIdentifier: "loginToNotes", sender: self)
- }
- }
- }
- @IBAction func registerAction(_ sender: UIButton) {
- guard let userName = emailTextOutlet.text, let userPassWord = passwordTextOutlet.text else {return}
- Auth.auth().createUser(withEmail: userName, password: userPassWord) { (user, error) in
- if error != nil {
- print(error?.localizedDescription ?? "")
- } else {
- guard let uid = Auth.auth().currentUser?.uid, let lowerBound = userName.range(of: "@")?.lowerBound else {return}
- let loweredUsername = userName.substring(to: lowerBound)
- let value = ["name": loweredUsername] as [String : Any]
- self.ref = Database.database().reference()
- self.ref.child("userAccounts").child(uid).setValue(value, withCompletionBlock: { (error, dataRef) in
- if error != nil {
- print(error?.localizedDescription as Any)
- } else {
- print("User is successfully registered with an email of \(user?.email ?? "") and name of \(loweredUsername)")
- }
- })
- }
- }
- }
- override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
- if segue.identifier == "loginToNotes", let username = emailTextOutlet.text, let destination = segue.destination as? NotesTableViewController {
- guard let lowerBound = username.range(of: "@")?.lowerBound else{ return}
- let justUsername = username.substring(to: lowerBound)
- destination.currentUserName = justUsername
- }
- }
- }
Add Comment
Please, Sign In to add comment