diff options
5 files changed, 115 insertions, 18 deletions
diff --git a/Backend/Api/Api/Services/PostService.cs b/Backend/Api/Api/Services/PostService.cs index 2f29366..0a12f39 100644 --- a/Backend/Api/Api/Services/PostService.cs +++ b/Backend/Api/Api/Services/PostService.cs @@ -23,7 +23,7 @@ namespace Api.Services { Post p = new Post(); p._id = ""; - p.ownerId = _httpContext.HttpContext.User.FindFirstValue("id"); + p.ownerId = _httpContext.HttpContext.User.FindFirstValue("id").ToString(); p.locationId = post.locationId; p.description = post.description; @@ -63,14 +63,6 @@ namespace Api.Services } await _posts.InsertOneAsync(p); - - - - - - - - return postToPostSend(p); } diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPassword.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPassword.kt index e7c9836..b0b7f5e 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPassword.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPassword.kt @@ -1,27 +1,73 @@ package com.example.brzodolokacije.Activities import android.content.Intent +import android.graphics.Color import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import android.util.Log import android.view.View import android.widget.Button +import android.widget.EditText import android.widget.Toast +import com.example.brzodolokacije.Models.Auth.JustMail +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 okhttp3.ResponseBody +import retrofit2.Call +import retrofit2.Response class ActivityForgottenPassword : AppCompatActivity() { private lateinit var sendCode: Button + private lateinit var email: EditText + private lateinit var emailString:String + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_forgotten_password) sendCode=findViewById<View>(R.id.forgottenPasswordSendCode) as Button - + email=findViewById<View>(R.id.editTextTextPersonName) as EditText sendCode.setOnClickListener{ - intent= Intent(this, ActivityForgottenPasswordVerify::class.java) - startActivity(intent) - } + emailString=email.text.toString().trim() - } + if(!emailString.isEmpty() && checkEmail(emailString)==true) { + + var emailData= JustMail(emailString) + val authApi= RetrofitHelper.getInstance() + val request=authApi.forgotpass(emailData) + val cont=this + request.enqueue(object : retrofit2.Callback<ResponseBody?> { + override fun onResponse(call: Call<ResponseBody?>, response: Response<ResponseBody?>) { + Log.d("main",response.code().toString()) + Log.d("main",response.body().toString()) + if(response.code()==200){ + val intent = Intent(cont, ActivityForgottenPasswordVerify::class.java) + intent.putExtra("email", emailString) + startActivity(intent) + } + } + override fun onFailure(call: Call<ResponseBody?>, t: Throwable) { + } + }) + } + } + } + //from fragment login + fun checkEmail(emailString:String):Boolean{ + val emailRegex = "^[A-Za-z](.*)([@]{1})(.{1,})(\\.)(.{1,})" + if(!(emailRegex.toRegex().matches(emailString))){ + Toast.makeText( + this, "Email adresa nije validna, pokušajte ponovo", Toast.LENGTH_LONG + ).show(); + email.setHintTextColor(Color.RED) + return false + } + else{ + return true + } + } }
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPasswordVerify.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPasswordVerify.kt index 6533237..a1db97f 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPasswordVerify.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityForgottenPasswordVerify.kt @@ -5,24 +5,72 @@ import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Button +import android.widget.EditText import android.widget.Toast import com.example.brzodolokacije.MainActivity +import com.example.brzodolokacije.Models.Auth.Login +import com.example.brzodolokacije.Models.Auth.ResetPass import com.example.brzodolokacije.R +import com.example.brzodolokacije.Services.RetrofitHelper +import com.example.brzodolokacije.Services.SharedPreferencesHelper +import okhttp3.ResponseBody +import retrofit2.Call +import retrofit2.Response class ActivityForgottenPasswordVerify : AppCompatActivity() { private lateinit var changePassword: Button + private lateinit var pw:EditText + private lateinit var pwchk:EditText + private lateinit var kod:EditText override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_forgotten_password_verify) + kod=findViewById<View>(R.id.editTextTextPersonName) as EditText + pw=findViewById<View>(R.id.editTextoldPassword) as EditText + pwchk =findViewById<View>(R.id.editTextTextPassword) as EditText changePassword=findViewById<View>(R.id.btnChangePassword) as Button changePassword.setOnClickListener{ + + var email =intent.getStringExtra("email") + var pwstr=pw.text.toString().trim() + var pwchkstr=pwchk.text.toString().trim() + var kodstr=kod.text.toString().trim() + + if(!kodstr.isEmpty() && checkPassword(pwstr,pwchkstr)){ + var resetData= ResetPass(email!!,kodstr,pwstr) + val authApi= RetrofitHelper.getInstance() + val request=authApi.resetpass(resetData) + val cont=this + request.enqueue(object : retrofit2.Callback<ResponseBody?> { + override fun onResponse(call: Call<ResponseBody?>, response: Response<ResponseBody?>) { + if(response.code()==200){ + intent = Intent(cont, ActivityLoginRegister::class.java) + startActivity(intent) + } + } + override fun onFailure(call: Call<ResponseBody?>, t: Throwable) { + } + }) + } + } + } + + //from fragment login + fun checkPassword(passwordString:String,passwordConfirm:String):Boolean{ + + if(passwordString.length<6){ Toast.makeText( - this, "Lozinka je uspešno promenjena.", Toast.LENGTH_LONG + this, "Lozinke su prekratke", Toast.LENGTH_LONG ).show(); - - intent= Intent(this, ActivityLoginRegister::class.java) - startActivity(intent) + return false + } + if(!passwordString.equals(passwordConfirm)){ + Toast.makeText( + this, "Lozinke su se ne poklapaju", Toast.LENGTH_LONG + ).show(); + return false } + return true } }
\ No newline at end of file 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 57e7e82..25f18a3 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 @@ -1,7 +1,9 @@ package com.example.brzodolokacije.Interfaces +import com.example.brzodolokacije.Models.Auth.JustMail import com.example.brzodolokacije.Models.Auth.Login import com.example.brzodolokacije.Models.Auth.Register +import com.example.brzodolokacije.Models.Auth.ResetPass import com.example.brzodolokacije.Models.Post import okhttp3.ResponseBody import retrofit2.Call @@ -16,6 +18,11 @@ interface IAuthApi { fun register(@Body obj:Register):Call<ResponseBody> @POST("/api/auth/refreshJwt") fun refreshJwt(@Header("Authorization") authHeader:String): Call<String> + @POST("/api/auth/forgotpass") + fun forgotpass(@Body obj:JustMail):Call<ResponseBody> + @POST("/api/auth/resetpass") + fun resetpass(@Body obj:ResetPass):Call<ResponseBody> + //@POST("putanja") //fun add(@Body obj:Post,@Header("Authorization") authHeader:String):Call<Post> }
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Auth/ResetPass.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Auth/ResetPass.kt new file mode 100644 index 0000000..945c8d1 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Auth/ResetPass.kt @@ -0,0 +1,4 @@ +package com.example.brzodolokacije.Models.Auth + +data class ResetPass(var email:String,var kod:String,var newpass:String) +data class JustMail(var email:String)
\ No newline at end of file |