diff options
author | branislav.radivojevic <wafflemynxyt@gmail.com> | 2022-10-28 15:58:46 +0200 |
---|---|---|
committer | branislav.radivojevic <wafflemynxyt@gmail.com> | 2022-10-28 15:58:46 +0200 |
commit | ac90f269b3658f8273a942a0d760fcd2e158a3d6 (patch) | |
tree | bc2184421ef741e34b6fe570100a2b837bc0f16f | |
parent | 174a2de4261dc2f4ea89e20a661a6a69475ed45a (diff) | |
parent | d94e5ee97a20b0ad6ee1df5f9fe5574750f25c65 (diff) |
Merge branch 'develop' of http://gitlab.pmf.kg.ac.rs/BrzoDoLokacije2022/odyssey/brzodolokacije into develop
4 files changed, 107 insertions, 18 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt index d47a16e..ab6794c 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt @@ -10,7 +10,13 @@ import android.widget.Button import android.widget.EditText import android.widget.TextView import android.widget.Toast +import com.example.brzodolokacije.Interfaces.IAuthApi +import com.example.brzodolokacije.Models.Auth.Login import com.example.brzodolokacije.R +import com.example.brzodolokacije.Services.RetrofitHelper +import com.example.brzodolokacije.Services.SharedPreferencesHelper +import retrofit2.Call +import retrofit2.Response class FragmentLogin : Fragment() { @@ -60,15 +66,35 @@ class FragmentLogin : Fragment() { } if(!emailString.isEmpty() && !passwordString.isEmpty()) { - - //proveri da li postoji u bazi - - //UPIT BAZI - ako postoji - idi na pocetnu stranu za logovanog - - - //UPIT BAZI - ako ne postoji ili je pogresan unos - ispisi poruku - - //DODATI da li postoji korisnicko ime i da li je tacna lozinka + var loginData= Login(emailString,passwordString) + val authApi= RetrofitHelper.getInstance().create(IAuthApi::class.java) + val request=authApi.login(loginData) + + request.enqueue(object : retrofit2.Callback<String?> { + override fun onResponse(call: Call<String?>, response: Response<String?>) { + if(response.isSuccessful()){ + val token=response.body().toString() + Toast.makeText( + activity, token, Toast.LENGTH_LONG + ).show(); + //TODO(navigate to main page) + SharedPreferencesHelper.addValue("jwt",token,activity!!) + }else{ + if(response.errorBody()!=null) + Toast.makeText( + activity, response.errorBody()!!.string(), Toast.LENGTH_LONG + ).show(); + } + + + } + + override fun onFailure(call: Call<String?>, t: Throwable) { + Toast.makeText( + activity, "Greska, pokusajte ponovo.", Toast.LENGTH_LONG + ).show(); + } + }) Toast.makeText( activity, "Korisnik sa unetim podacima nije pronađen. " + "\n" + diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentRegister.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentRegister.kt index 05348a2..4843675 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentRegister.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentRegister.kt @@ -1,7 +1,9 @@ package com.example.brzodolokacije.Fragments +import android.graphics.BitmapFactory import android.graphics.Color import android.os.Bundle +import android.util.Base64 import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View @@ -9,7 +11,14 @@ import android.view.ViewGroup import android.widget.Button import android.widget.EditText import android.widget.Toast +import com.example.brzodolokacije.Interfaces.IAuthApi +import com.example.brzodolokacije.Models.Auth.Register import com.example.brzodolokacije.R +import com.example.brzodolokacije.Services.RetrofitHelper +import okhttp3.ResponseBody +import retrofit2.Call +import retrofit2.Response +import javax.security.auth.callback.Callback class FragmentRegister : Fragment() { // TODO: Rename and change types of parameters @@ -68,16 +77,37 @@ class FragmentRegister : Fragment() { } if(!emailString.isEmpty() && !passwordString.isEmpty() && !nameString.isEmpty() && !usernameString.isEmpty()) { + var registerData=Register(nameString,usernameString,emailString,passwordString) - //proveri da li postoji u bazi + val authApi=RetrofitHelper.getInstance().create(IAuthApi::class.java) + + val request=authApi.register(registerData) + + request.enqueue(object : retrofit2.Callback<ResponseBody?> { + override fun onResponse(call: Call<ResponseBody?>, response: Response<ResponseBody?>) { + if(response.isSuccessful()){ + Toast.makeText( + activity, "Uspesna registracija. Verifikujte email. TODO(navigate to login)", Toast.LENGTH_LONG + ).show(); + //TODO(navigate to login) + }else{ + if(response.errorBody()!=null) + Toast.makeText( + activity, response.errorBody()!!.string(), Toast.LENGTH_LONG + ).show(); + } + + + } + + override fun onFailure(call: Call<ResponseBody?>, t: Throwable) { + Toast.makeText( + activity, "Greska, pokusajte ponovo.", Toast.LENGTH_LONG + ).show(); + } + }) - //UPIT BAZI - ako postoji - greska korisnik je registrovan - Toast.makeText( - activity, "Korisnik sa unetim podacima već postoji. " + "\n" + - "Da li želite da se prijavite?", Toast.LENGTH_LONG - ).show(); - //UPIT BAZI - ako ne postoji dodaj u bazu //***DODATI broj karaktera lozinke, provera da li je email sa @ i .com diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt index 6ff3899..bd430a8 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt @@ -2,8 +2,8 @@ package com.example.brzodolokacije.Interfaces import com.example.brzodolokacije.Models.Auth.Login import com.example.brzodolokacije.Models.Auth.Register +import okhttp3.ResponseBody import retrofit2.Call -import retrofit2.Response import retrofit2.http.Body import retrofit2.http.POST @@ -11,5 +11,5 @@ interface IAuthApi { @POST("/api/auth/login") fun login(@Body obj:Login): Call<String> @POST("/api/auth/register") - fun register(@Body obj:Register):Call<Boolean> + fun register(@Body obj:Register):Call<ResponseBody> }
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/SharedPreferencesHelper.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/SharedPreferencesHelper.kt new file mode 100644 index 0000000..83e88be --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Services/SharedPreferencesHelper.kt @@ -0,0 +1,33 @@ +package com.example.brzodolokacije.Services + +import android.app.Activity +import android.content.Context +import android.content.SharedPreferences +import android.content.SharedPreferences.Editor +import androidx.fragment.app.FragmentActivity + +object SharedPreferencesHelper { + val prefName:String="OdysseyPreferences" + + fun getValue(key:String,act: FragmentActivity):String?{ + var pref:SharedPreferences=act.getSharedPreferences(prefName,Context.MODE_PRIVATE) + return pref.getString(key,null) + } + fun addValue(key:String,value:String,act:FragmentActivity):Boolean{ + var pref:SharedPreferences=act.getSharedPreferences(prefName,Context.MODE_PRIVATE) + var editor:Editor=pref.edit() + editor.putString(key,value) + return editor.commit() + } + fun getValue(key:String,act: Activity):String?{ + var pref:SharedPreferences=act.getSharedPreferences(prefName,Context.MODE_PRIVATE) + return pref.getString(key,null) + } + fun addValue(key:String,value:String,act:Activity):Boolean{ + var pref:SharedPreferences=act.getSharedPreferences(prefName,Context.MODE_PRIVATE) + var editor:Editor=pref.edit() + editor.putString(key,value) + return editor.commit() + } + +}
\ No newline at end of file |