Guest User

Untitled

a guest
Nov 20th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. import UIKit
  2. import Firebase
  3.  
  4. class LoginViewController: UIViewController {
  5.  
  6. var ref: DatabaseReference!
  7.  
  8. override func viewDidLoad() {
  9. super.viewDidLoad()
  10. }
  11.  
  12. @IBOutlet weak var emailTextOutlet: UITextField!
  13. @IBOutlet weak var passwordTextOutlet: UITextField!
  14.  
  15.  
  16. @IBAction func loginAction(_ sender: UIButton) {
  17. guard let email = emailTextOutlet.text, let password = passwordTextOutlet.text else { return }
  18.  
  19. Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
  20. if error != nil {
  21. print(error?.localizedDescription ?? "")
  22. } else {
  23. self.performSegue(withIdentifier: "loginToNotes", sender: self)
  24. }
  25. }
  26.  
  27. }
  28.  
  29. @IBAction func registerAction(_ sender: UIButton) {
  30. guard let userName = emailTextOutlet.text, let userPassWord = passwordTextOutlet.text else {return}
  31.  
  32. Auth.auth().createUser(withEmail: userName, password: userPassWord) { (user, error) in
  33. if error != nil {
  34. print(error?.localizedDescription ?? "")
  35. } else {
  36.  
  37. guard let uid = Auth.auth().currentUser?.uid, let lowerBound = userName.range(of: "@")?.lowerBound else {return}
  38. let loweredUsername = userName.substring(to: lowerBound)
  39.  
  40. let value = ["name": loweredUsername] as [String : Any]
  41. self.ref = Database.database().reference()
  42. self.ref.child("userAccounts").child(uid).setValue(value, withCompletionBlock: { (error, dataRef) in
  43. if error != nil {
  44. print(error?.localizedDescription as Any)
  45. } else {
  46.  
  47. print("User is successfully registered with an email of \(user?.email ?? "") and name of \(loweredUsername)")
  48. }
  49.  
  50. })
  51.  
  52. }
  53. }
  54. }
  55.  
  56.  
  57. override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  58.  
  59. if segue.identifier == "loginToNotes", let username = emailTextOutlet.text, let destination = segue.destination as? NotesTableViewController {
  60. guard let lowerBound = username.range(of: "@")?.lowerBound else{ return}
  61. let justUsername = username.substring(to: lowerBound)
  62.  
  63. destination.currentUserName = justUsername
  64. }
  65. }
  66.  
  67. }
Add Comment
Please, Sign In to add comment