From 9c5f1c3424fc9e2fa30897626e15586a8fdba6a1 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Fri, 9 Dec 2022 21:34:56 +0100 Subject: Popravljena promena lozinke. --- Backend/Api/Api/Controllers/UserController.cs | 4 ++-- Backend/Api/Api/Models/User.cs | 9 +++++++-- .../Activities/ActivityChangePassword.kt | 21 +++++++++++++++------ .../brzodolokacije/Interfaces/IBackendApi.kt | 7 ++----- .../brzodolokacije/Models/Auth/ChangePass.kt | 6 ++++++ 5 files changed, 32 insertions(+), 15 deletions(-) create mode 100644 Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Auth/ChangePass.kt diff --git a/Backend/Api/Api/Controllers/UserController.cs b/Backend/Api/Api/Controllers/UserController.cs index 30beac4..abdf685 100644 --- a/Backend/Api/Api/Controllers/UserController.cs +++ b/Backend/Api/Api/Controllers/UserController.cs @@ -164,9 +164,9 @@ namespace Api.Controllers [HttpPost("changePass")] [Authorize(Roles = "User")] - public async Task> ChangePass(string currentPass, string newPass) + public async Task> ChangePass([FromBody] ChangePass cp) { - return Ok(await _userService.ChangePass(currentPass,newPass)); + return Ok(await _userService.ChangePass(cp.currentPass,cp.newPass)); } diff --git a/Backend/Api/Api/Models/User.cs b/Backend/Api/Api/Models/User.cs index 620c9c8..f789ffe 100644 --- a/Backend/Api/Api/Models/User.cs +++ b/Backend/Api/Api/Models/User.cs @@ -65,7 +65,7 @@ namespace Api.Models public File? pfp { get; set; } public int postcount { get; set; } - public List followers{ get; set; } + public List followers { get; set; } public List following { get; set; } public int followersCount { get; set; } @@ -80,7 +80,7 @@ namespace Api.Models public int totalViews { get; set; } public int numberOfPosts { get; set; } public int numberOfRatingsOnPosts { get; set; } - public double averagePostRatingOnPosts {get; set; } + public double averagePostRatingOnPosts { get; set; } public List monthlyViews { get; set; } public int numberOfFavouritePosts { get; set; } } @@ -90,4 +90,9 @@ namespace Api.Models public int month { get; set; } public int views { get; set; } } + public class ChangePass + { + public string currentPass { get; set; } + public string newPass { get; set; } + } } diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt index 2198153..d403609 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityChangePassword.kt @@ -6,33 +6,38 @@ import android.os.Bundle import com.example.brzodolokacije.R import android.widget.Button +import android.widget.EditText +import android.widget.ImageView import android.widget.TextView import android.widget.Toast import androidx.core.view.isVisible import com.exam.DBHelper.Companion.activity +import com.example.brzodolokacije.Models.Auth.ChangePass import com.example.brzodolokacije.Models.UserReceive import com.example.brzodolokacije.Services.RetrofitHelper import com.example.brzodolokacije.Services.SharedPreferencesHelper +import kotlinx.android.synthetic.main.fragment_my_profile_info.* import retrofit2.Call import retrofit2.Response class ActivityChangePassword : AppCompatActivity() { - private lateinit var oldPass:TextView + private lateinit var oldPass:EditText private lateinit var oldPassError:TextView - private lateinit var newPass:TextView + private lateinit var newPass:EditText private lateinit var newPassError:TextView - private lateinit var confirmPass:TextView + private lateinit var confirmPass:EditText private lateinit var confirmPassError:TextView private lateinit var forgotten:TextView private lateinit var submit:Button + private lateinit var backButton:ImageView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_change_password) - oldPass=findViewById(R.id.changeDataOldPassword) + oldPass=findViewById(R.id.tvActivityChangePasswordCurrentPass) oldPassError=findViewById(R.id.ActivityChangePasswordOldError) newPass=findViewById(R.id.tvActivityChangePasswordNewPass) newPassError=findViewById(R.id.btnActivityChangePasswordNewError) @@ -40,10 +45,14 @@ class ActivityChangePassword : AppCompatActivity() { confirmPassError=findViewById(R.id.btnActivityChangePasswordConfirmError) forgotten=findViewById(R.id.btnActivityChangePasswordForgottenPass) submit=findViewById(R.id.ActivityChangePasswordChangePassword) + backButton=findViewById(R.id.btnBackToUser) oldPassError.isVisible=false newPassError.isVisible=false confirmPassError.isVisible=false + backButton.setOnClickListener{ + finish() + } submit.setOnClickListener{ oldPassError.isVisible=false @@ -56,10 +65,10 @@ class ActivityChangePassword : AppCompatActivity() { if(newPass.text.toString().trim() == confirmPass.text.toString().trim()){ //PROVERI DA LI JE TRENUTA LOZINKA ISTA KAO TRENUTNI UNOS - + var cp= ChangePass(oldPass.text.toString(),newPass.text.toString()) val authApi= RetrofitHelper.getInstance() val token= SharedPreferencesHelper.getValue("jwt",this@ActivityChangePassword) - val request=authApi.changePass("Bearer "+token) + val request=authApi.changePass("Bearer "+token,cp) request.enqueue(object : retrofit2.Callback { override fun onResponse(call: Call, response: Response) { diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt index 66a78d3..cc04669 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt @@ -1,10 +1,7 @@ package com.example.brzodolokacije.Interfaces import com.example.brzodolokacije.Models.* -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.Auth.* import okhttp3.MultipartBody import okhttp3.RequestBody import okhttp3.ResponseBody @@ -123,7 +120,7 @@ interface IBackendApi { @POST("/api/user/changePass") - fun changePass(@Header("Authorization") authHeader:String):Call + fun changePass(@Header("Authorization") authHeader:String,@Body changePass:ChangePass):Call @GET("/api/user/{username}/profile/stats") fun getUserStatsFromUsername(@Header("Authorization") authHeader:String,@Path("username") username:String):Call @GET("/api/auth/jwttoid") diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Auth/ChangePass.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Auth/ChangePass.kt new file mode 100644 index 0000000..46957df --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Auth/ChangePass.kt @@ -0,0 +1,6 @@ +package com.example.brzodolokacije.Models.Auth + +data class ChangePass( + var currentPass:String, + var newPass:String +) -- cgit v1.2.3