Guest User

Untitled

a guest
Dec 7th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.47 KB | None | 0 0
  1. package com.ne2rnas.slackclone.services
  2.  
  3. import android.content.Context
  4. import android.util.Log
  5. import com.android.volley.Request
  6. import com.android.volley.Response
  7. import com.android.volley.toolbox.JsonObjectRequest
  8. import com.android.volley.toolbox.StringRequest
  9. import com.android.volley.toolbox.Volley
  10. import com.ne2rnas.slackclone.utilities.URL_CREATE_USER
  11. import com.ne2rnas.slackclone.utilities.URL_LOGIN
  12. import com.ne2rnas.slackclone.utilities.URL_REGISTER
  13. import com.ne2rnas.slackclone.utilities.URL_USER_LOGIN
  14. import org.json.JSONException
  15. import org.json.JSONObject
  16.  
  17. object AuthService {
  18.  
  19. var isLoggedIn = false
  20. var userEmail = ""
  21. var authToken = ""
  22.  
  23. fun registerUser(context: Context, email: String, password: String, complete: (Boolean) -> Unit) {
  24. val jsonBody = JSONObject()
  25. jsonBody.put("email", email)
  26. jsonBody.put("password", password)
  27. val requestBody = jsonBody.toString()
  28.  
  29. val registerRequest = object : StringRequest(Request.Method.POST, URL_REGISTER, Response.Listener { response ->
  30. println(response)
  31. complete(true)
  32. }, Response.ErrorListener { error ->
  33. Log.d("ERROR", "Could not register user: ${error.message}")
  34. complete(false)
  35. }) {
  36. override fun getBodyContentType(): String {
  37. return "application/json; charset=utf-8"
  38. }
  39.  
  40. override fun getBody(): ByteArray {
  41. return requestBody.toByteArray()
  42. }
  43. }
  44.  
  45. Volley.newRequestQueue(context).add(registerRequest)
  46. }
  47.  
  48. fun systemUserLogin(context: Context, email: String, password: String, complete: (Boolean) -> Unit) {
  49. val jsonBody = JSONObject()
  50. jsonBody.put("email", email)
  51. jsonBody.put("password", password)
  52. val requestBody = jsonBody.toString()
  53.  
  54. val loginRequest = object : JsonObjectRequest(Method.POST, URL_LOGIN, null, Response.Listener { response ->
  55. try {
  56. // println(response)
  57. userEmail = response.getString("user")
  58. authToken = response.getString("token")
  59. complete(true)
  60. loginUser(context,userEmail, complete)
  61. } catch (e: JSONException) {
  62. Log.d("JSON", "EXC:" + e.localizedMessage)
  63. complete(false)
  64. }
  65.  
  66. }, Response.ErrorListener { error ->
  67. // this is where we deal with our error
  68. Log.d("ERROR", "Could not register user: $error")
  69. complete(false)
  70. }) {
  71.  
  72. override fun getBodyContentType(): String {
  73. return "application/json; charset=utf-8"
  74. }
  75.  
  76. override fun getBody(): ByteArray {
  77. return requestBody.toByteArray()
  78. }
  79. }
  80.  
  81. Volley.newRequestQueue(context).add(loginRequest)
  82. }
  83.  
  84. fun loginUser(context: Context, email: String, complete: (Boolean) -> Unit) {
  85. val jsonBody = JSONObject()
  86. // jsonBody.put("email", email)
  87. // jsonBody.put("password", password)
  88. // jsonBody.put("password", password)
  89. val requestBody = jsonBody.toString()
  90.  
  91. // getToken(context, email, password, complete)
  92. val loginRequest = object : JsonObjectRequest(Method.GET, URL_USER_LOGIN + email, null, Response.Listener { response ->
  93. try {
  94. println(response)
  95. UserDataService.name = response.getString("name")
  96. UserDataService.email = response.getString("email")
  97. UserDataService.avatarName = response.getString("avatarName")
  98. UserDataService.avatarColor = response.getString("avatarColor")
  99. UserDataService.id = response.getString("_id")
  100. isLoggedIn = true
  101. complete(true)
  102. } catch (e: JSONException) {
  103. Log.d("JSON", "EXC:" + e.localizedMessage)
  104. complete(false)
  105. }
  106.  
  107. }, Response.ErrorListener { error ->
  108. // this is where we deal with our error
  109. Log.d("ERROR", "Could not register user: $error")
  110. complete(false)
  111. }) {
  112.  
  113. override fun getBodyContentType(): String {
  114. return "application/json; charset=utf-8"
  115. }
  116.  
  117. override fun getBody(): ByteArray {
  118. return requestBody.toByteArray()
  119. }
  120.  
  121. override fun getHeaders(): MutableMap<String, String> {
  122. val headers = HashMap<String, String>()
  123. headers.put("Authorization", "Bearer $authToken")
  124. return headers
  125. }
  126. }
  127.  
  128. Volley.newRequestQueue(context).add(loginRequest)
  129.  
  130. }
  131.  
  132. fun createUser(context: Context, name: String, email: String, avatarName: String, avatarColor: String, complete: (Boolean) -> Unit) {
  133. val jsonBody = JSONObject()
  134. jsonBody.put("name", name)
  135. jsonBody.put("email", email)
  136. jsonBody.put("avatarName", avatarName)
  137. jsonBody.put("avatarColor", avatarColor)
  138. val requestBody = jsonBody.toString()
  139.  
  140. val createRequest = object : JsonObjectRequest(Method.POST, URL_CREATE_USER, null, Response.Listener { response ->
  141. try {
  142. UserDataService.name = response.getString("name")
  143. UserDataService.email = response.getString("email")
  144. UserDataService.avatarName = response.getString("avatarName")
  145. UserDataService.avatarColor = response.getString("avatarColor")
  146. UserDataService.id = response.getString("_id")
  147. complete(true)
  148. } catch (e: JSONException) {
  149. Log.d("JSON", "EXC " + e.localizedMessage)
  150. complete(false)
  151. }
  152.  
  153. }, Response.ErrorListener { error ->
  154. Log.d("ERROR", "Could not add user: $error")
  155. complete(false)
  156. }) {
  157.  
  158. override fun getBodyContentType(): String {
  159. return "application/json; charset=utf-8"
  160. }
  161.  
  162. override fun getBody(): ByteArray {
  163. return requestBody.toByteArray()
  164. }
  165.  
  166. override fun getHeaders(): MutableMap<String, String> {
  167. val headers = HashMap<String, String>()
  168. headers.put("Authorization", "Bearer $authToken")
  169. return headers
  170. }
  171. }
  172.  
  173. Volley.newRequestQueue(context).add(createRequest)
  174. }
  175.  
  176. }
Add Comment
Please, Sign In to add comment