Advertisement
Guest User

Untitled

a guest
Oct 4th, 2018
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. @objc func handleRegister() {
  2.  
  3. guard let email = emailTextField.text else { return }
  4.  
  5. guard let username = usernameTextField.text else { return }
  6.  
  7. guard let password = passwordTextField.text else { return }
  8.  
  9.  
  10.  
  11. Auth.auth().createUser(withEmail: email, password: password) { (authResult, err) in
  12.  
  13.  
  14.  
  15. if let err = err {
  16.  
  17. print("Failed creating user : ", err)
  18.  
  19. return
  20.  
  21. }
  22.  
  23.  
  24.  
  25. /*if let authResult = authResult {
  26.  
  27.  
  28.  
  29. }*/
  30.  
  31.  
  32.  
  33. // Storing image
  34.  
  35. guard let image = self.addPhotoButton.imageView?.image else {return}
  36.  
  37. guard let uploadData = image.jpegData(compressionQuality: 0.3) else {return}
  38.  
  39. let filename = NSUUID().uuidString
  40.  
  41.  
  42.  
  43. let storageRef = Storage.storage().reference().child("profiles_images").child(filename)
  44.  
  45. storageRef.putData(uploadData, metadata: nil, completion:
  46.  
  47. { (metadata, err) in
  48.  
  49. if let err = err {
  50.  
  51. print("Failed uploading image: ", err)
  52.  
  53. return
  54.  
  55. }
  56.  
  57.  
  58.  
  59. storageRef.downloadURL(completion: { (url, err) in
  60.  
  61. if let err = err {
  62.  
  63. print("Failed downloading image URL: ", err)
  64.  
  65. return
  66.  
  67. }
  68.  
  69.  
  70.  
  71. guard let downloadURL = url else {return}
  72.  
  73. let profileImageUrl = downloadURL.absoluteString
  74.  
  75.  
  76.  
  77. // Database > uid > users > { username, profileImageUrl }
  78.  
  79. guard let uid = authResult?.user.uid else { return }
  80.  
  81.  
  82.  
  83. // let values = ["id": ["username": blabla, "img": http:...]]
  84.  
  85. let dictionaryValues = ["username": username, "profileImageUrl": profileImageUrl]
  86.  
  87. let values = [uid: dictionaryValues]
  88.  
  89.  
  90.  
  91. let usersRef = Database.database().reference().child("users")
  92.  
  93.  
  94.  
  95. usersRef.updateChildValues(values, withCompletionBlock: { (err, usersRef) in
  96.  
  97. if let err = err {
  98.  
  99. print("Failed updating user", err)
  100.  
  101. return
  102.  
  103. }
  104.  
  105.  
  106.  
  107. self.dismiss(animated: true, completion: nil)
  108.  
  109. })
  110.  
  111.  
  112.  
  113.  
  114.  
  115. })
  116.  
  117. })
  118.  
  119.  
  120.  
  121.  
  122.  
  123. }
  124.  
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement