From 155be78c0e5ac272e3cee558bc8d76f4dc14b947 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Mon, 14 Nov 2022 18:11:57 +0100 Subject: Preuzimanja podatka o korisniku sa backend-a i prikaz tih podataka na profile fragmentu. --- .../brzodolokacije/Fragments/FragmentProfile.kt | 46 +++++++++++++++++++++- .../brzodolokacije/Interfaces/IBackendApi.kt | 10 +++++ .../java/com/example/brzodolokacije/Models/User.kt | 8 ++++ 3 files changed, 63 insertions(+), 1 deletion(-) (limited to 'Client') 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 { + override fun onResponse(call: Call, response: Response) { + 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, 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> + @Multipart + @POST("/api/user/profile/pfp") + fun setPfp(@Header("Authorization") authHeader:String, @Part image: MultipartBody.Part):Call + @GET("/api/user/profile") + fun selfProfile(@Header("Authorization") authHeader:String):Call + @GET("/api/user/{username}/profile") + fun getProfile(@Header("Authorization") authHeader:String,@Path("username") username:String):Call + + + //@POST("putanja") //fun add(@Body obj:Post,@Header("Authorization") authHeader:String):Call } \ 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, 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 -- cgit v1.2.3