Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.ne2rnas.slackclone.services
- import android.content.Context
- import android.util.Log
- import com.android.volley.Request
- import com.android.volley.Response
- import com.android.volley.toolbox.JsonObjectRequest
- import com.android.volley.toolbox.StringRequest
- import com.android.volley.toolbox.Volley
- import com.ne2rnas.slackclone.utilities.URL_CREATE_USER
- import com.ne2rnas.slackclone.utilities.URL_LOGIN
- import com.ne2rnas.slackclone.utilities.URL_REGISTER
- import com.ne2rnas.slackclone.utilities.URL_USER_LOGIN
- import org.json.JSONException
- import org.json.JSONObject
- object AuthService {
- var isLoggedIn = false
- var userEmail = ""
- var authToken = ""
- fun registerUser(context: Context, email: String, password: String, complete: (Boolean) -> Unit) {
- val jsonBody = JSONObject()
- jsonBody.put("email", email)
- jsonBody.put("password", password)
- val requestBody = jsonBody.toString()
- val registerRequest = object : StringRequest(Request.Method.POST, URL_REGISTER, Response.Listener { response ->
- println(response)
- complete(true)
- }, Response.ErrorListener { error ->
- Log.d("ERROR", "Could not register user: ${error.message}")
- complete(false)
- }) {
- override fun getBodyContentType(): String {
- return "application/json; charset=utf-8"
- }
- override fun getBody(): ByteArray {
- return requestBody.toByteArray()
- }
- }
- Volley.newRequestQueue(context).add(registerRequest)
- }
- fun systemUserLogin(context: Context, email: String, password: String, complete: (Boolean) -> Unit) {
- val jsonBody = JSONObject()
- jsonBody.put("email", email)
- jsonBody.put("password", password)
- val requestBody = jsonBody.toString()
- val loginRequest = object : JsonObjectRequest(Method.POST, URL_LOGIN, null, Response.Listener { response ->
- try {
- // println(response)
- userEmail = response.getString("user")
- authToken = response.getString("token")
- complete(true)
- loginUser(context,userEmail, complete)
- } catch (e: JSONException) {
- Log.d("JSON", "EXC:" + e.localizedMessage)
- complete(false)
- }
- }, Response.ErrorListener { error ->
- // this is where we deal with our error
- Log.d("ERROR", "Could not register user: $error")
- complete(false)
- }) {
- override fun getBodyContentType(): String {
- return "application/json; charset=utf-8"
- }
- override fun getBody(): ByteArray {
- return requestBody.toByteArray()
- }
- }
- Volley.newRequestQueue(context).add(loginRequest)
- }
- fun loginUser(context: Context, email: String, complete: (Boolean) -> Unit) {
- val jsonBody = JSONObject()
- // jsonBody.put("email", email)
- // jsonBody.put("password", password)
- // jsonBody.put("password", password)
- val requestBody = jsonBody.toString()
- // getToken(context, email, password, complete)
- val loginRequest = object : JsonObjectRequest(Method.GET, URL_USER_LOGIN + email, null, Response.Listener { response ->
- try {
- println(response)
- UserDataService.name = response.getString("name")
- UserDataService.email = response.getString("email")
- UserDataService.avatarName = response.getString("avatarName")
- UserDataService.avatarColor = response.getString("avatarColor")
- UserDataService.id = response.getString("_id")
- isLoggedIn = true
- complete(true)
- } catch (e: JSONException) {
- Log.d("JSON", "EXC:" + e.localizedMessage)
- complete(false)
- }
- }, Response.ErrorListener { error ->
- // this is where we deal with our error
- Log.d("ERROR", "Could not register user: $error")
- complete(false)
- }) {
- override fun getBodyContentType(): String {
- return "application/json; charset=utf-8"
- }
- override fun getBody(): ByteArray {
- return requestBody.toByteArray()
- }
- override fun getHeaders(): MutableMap<String, String> {
- val headers = HashMap<String, String>()
- headers.put("Authorization", "Bearer $authToken")
- return headers
- }
- }
- Volley.newRequestQueue(context).add(loginRequest)
- }
- fun createUser(context: Context, name: String, email: String, avatarName: String, avatarColor: String, complete: (Boolean) -> Unit) {
- val jsonBody = JSONObject()
- jsonBody.put("name", name)
- jsonBody.put("email", email)
- jsonBody.put("avatarName", avatarName)
- jsonBody.put("avatarColor", avatarColor)
- val requestBody = jsonBody.toString()
- val createRequest = object : JsonObjectRequest(Method.POST, URL_CREATE_USER, null, Response.Listener { response ->
- try {
- UserDataService.name = response.getString("name")
- UserDataService.email = response.getString("email")
- UserDataService.avatarName = response.getString("avatarName")
- UserDataService.avatarColor = response.getString("avatarColor")
- UserDataService.id = response.getString("_id")
- complete(true)
- } catch (e: JSONException) {
- Log.d("JSON", "EXC " + e.localizedMessage)
- complete(false)
- }
- }, Response.ErrorListener { error ->
- Log.d("ERROR", "Could not add user: $error")
- complete(false)
- }) {
- override fun getBodyContentType(): String {
- return "application/json; charset=utf-8"
- }
- override fun getBody(): ByteArray {
- return requestBody.toByteArray()
- }
- override fun getHeaders(): MutableMap<String, String> {
- val headers = HashMap<String, String>()
- headers.put("Authorization", "Bearer $authToken")
- return headers
- }
- }
- Volley.newRequestQueue(context).add(createRequest)
- }
- }
Add Comment
Please, Sign In to add comment