diff --git a/app/src/main/java/com/example/login_v3/data/api/Main_API_Service.kt b/app/src/main/java/com/example/login_v3/data/api/Main_API_Service.kt index da4272c..772ab0e 100644 --- a/app/src/main/java/com/example/login_v3/data/api/Main_API_Service.kt +++ b/app/src/main/java/com/example/login_v3/data/api/Main_API_Service.kt @@ -21,8 +21,8 @@ interface TecnologiaApi { suspend fun login(@Body body: LoginRequest): Response // 取得個人資料:通常需要 Token - @GET("api/me") - suspend fun getMe(@Header("Authorization") token: String): Response + @GET("me") + suspend fun getUserProfile(): Response // 發送好友請求 @POST("api/friends/request") diff --git a/app/src/main/java/com/example/login_v3/data/api/api_class/Personal_Profile.kt b/app/src/main/java/com/example/login_v3/data/api/api_class/Personal_Profile.kt new file mode 100644 index 0000000..268ebc7 --- /dev/null +++ b/app/src/main/java/com/example/login_v3/data/api/api_class/Personal_Profile.kt @@ -0,0 +1,19 @@ +package com.example.login_v3.data.api.api_class + +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +data class UserProfile( + val user_id: String, + val username: String, + val display_name: String, + val email: String, + val avatar_url: String?, + val banner_url: String?, + val bio: String?, + val status: String, + val is_active: Boolean, + val is_verified: Boolean, + val last_login: String, + val created_at: String +) \ No newline at end of file diff --git a/app/src/main/java/com/example/login_v3/data/repository/basic/Personal_Profile_Repository.kt b/app/src/main/java/com/example/login_v3/data/repository/basic/Personal_Profile_Repository.kt new file mode 100644 index 0000000..91da531 --- /dev/null +++ b/app/src/main/java/com/example/login_v3/data/repository/basic/Personal_Profile_Repository.kt @@ -0,0 +1,18 @@ +package com.example.login_v3.data.repository.basic + +import com.example.login_v3.data.api.TecnologiaApi +import com.example.login_v3.data.api.api_class.UserProfile +import javax.inject.Inject + +class Personal_Profile_Repository @Inject constructor( + private val api: TecnologiaApi +) { + suspend fun getMyProfile(): UserProfile { + val response = api.getUserProfile() + if (response.isSuccessful) { + return response.body()!! + } else { + throw Exception("API error: ${response.code()}") + } + } +} \ No newline at end of file