aboutsummaryrefslogtreecommitdiff
path: root/Client
diff options
context:
space:
mode:
authorOgnjen Cirkovic <ciraboxkg@gmail.com>2022-11-14 18:11:57 +0100
committerOgnjen Cirkovic <ciraboxkg@gmail.com>2022-11-14 18:11:57 +0100
commit155be78c0e5ac272e3cee558bc8d76f4dc14b947 (patch)
tree9ad64f68a13d2dd8dbb0fe3bb2a38ad3a47c20c6 /Client
parentc0c7b37d7abaa7d9519c58d5c0caefd0ba42b4de (diff)
Preuzimanja podatka o korisniku sa backend-a i prikaz tih podataka na profile fragmentu.
Diffstat (limited to 'Client')
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentProfile.kt46
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IBackendApi.kt10
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/User.kt8
3 files changed, 63 insertions, 1 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentProfile.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentProfile.kt
index 243cab0..87519f4 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentProfile.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentProfile.kt
@@ -1,14 +1,23 @@
package com.example.brzodolokacije.Fragments
+import android.content.Intent
import android.os.Bundle
+import android.util.Log
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.TextView
+import android.widget.Toast
import androidx.fragment.app.FragmentTransaction
+import com.example.brzodolokacije.Activities.NavigationActivity
+import com.example.brzodolokacije.Models.UserReceive
import com.example.brzodolokacije.R
+import com.example.brzodolokacije.Services.RetrofitHelper
+import com.example.brzodolokacije.Services.SharedPreferencesHelper
+import retrofit2.Call
+import retrofit2.Response
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
@@ -71,15 +80,50 @@ class FragmentProfile : Fragment(R.layout.fragment_profile) {
}
showMyRecensions.setOnClickListener{
-
+ getProfileInfo()
var fm: FragmentTransaction =childFragmentManager.beginTransaction()
fm.replace(R.id.flFragmentProfileFragmentContainer, FragmentMyRecensions())
fm.commit()
}
+ getProfileInfo()
return view
}
+ private fun getProfileInfo(){
+ val authApi=RetrofitHelper.getInstance()
+ val token= SharedPreferencesHelper.getValue("jwt", requireActivity())
+ val request=authApi.selfProfile("Bearer "+token)
+
+ request.enqueue(object : retrofit2.Callback<UserReceive?> {
+ override fun onResponse(call: Call<UserReceive?>, response: Response<UserReceive?>) {
+ if(response.isSuccessful()){
+ setUserInfo(response.body()!!)
+ }else{
+ if(response.errorBody()!=null)
+ Toast.makeText(activity, response.errorBody()!!.string(), Toast.LENGTH_LONG).show();
+ }
+
+
+ }
+
+ override fun onFailure(call: Call<UserReceive?>, t: Throwable) {
+ Log.d("Main","Graska3")
+ Toast.makeText(
+ activity, t.toString(), Toast.LENGTH_LONG
+ ).show();
+ }
+ })
+ }
+ private fun setUserInfo(user:UserReceive){
+ name.setText(user.name)
+ username.setText(user.username)
+
+ postsCount.setText("to do backend")
+ followersCount.setText("to do backend")
+ followingCount.setText("to do backend")
+ }
+
} \ No newline at end of file
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 cd23a65..236db1d 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
@@ -43,6 +43,16 @@ interface IBackendApi {
fun getComments(@Header("Authorization") authHeader:String,@Path("id") id:String):Call<MutableList<CommentSend>>
+ @Multipart
+ @POST("/api/user/profile/pfp")
+ fun setPfp(@Header("Authorization") authHeader:String, @Part image: MultipartBody.Part):Call<ResponseBody>
+ @GET("/api/user/profile")
+ fun selfProfile(@Header("Authorization") authHeader:String):Call<UserReceive>
+ @GET("/api/user/{username}/profile")
+ fun getProfile(@Header("Authorization") authHeader:String,@Path("username") username:String):Call<UserReceive>
+
+
+
//@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/User.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/User.kt
index 52090f9..505ac51 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/User.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/User.kt
@@ -20,4 +20,12 @@ data class User (
var postIds:List<Int>,
var postNumber:Int
+)
+data class UserReceive(
+ var _id:String,
+ var name:String,
+ var username:String,
+ var email:String,
+ var creationDate: Date,
+ var pfp:PostImage?
) \ No newline at end of file