From e32f6332be45ec1fe6e275889cbe9ab2250eb7d5 Mon Sep 17 00:00:00 2001 From: Eric85710 Date: Sat, 9 May 2026 16:09:24 +0800 Subject: [PATCH] auth to server-V74 --- .../com/example/login_v3/data/api/Main_API_Service.kt | 7 +++++++ .../login_v3/data/api/api_class/FriendRequest.kt | 4 ++++ .../data/repository/basic/Friends_Repository.kt | 10 ++++++++++ 3 files changed, 21 insertions(+) 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 196463e..185747f 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 @@ -65,4 +65,11 @@ interface TecnologiaApi { suspend fun rejectFriendRequest( @Path("fromUserId") fromUserId: String ): Response + + // add friends + @POST("api/friends/request") + suspend fun sendFriendRequest( + @Body request: AddFriendRequest + ): Response + } \ No newline at end of file diff --git a/app/src/main/java/com/example/login_v3/data/api/api_class/FriendRequest.kt b/app/src/main/java/com/example/login_v3/data/api/api_class/FriendRequest.kt index 1481c61..5178185 100644 --- a/app/src/main/java/com/example/login_v3/data/api/api_class/FriendRequest.kt +++ b/app/src/main/java/com/example/login_v3/data/api/api_class/FriendRequest.kt @@ -65,6 +65,10 @@ data class PendingFriendApiModel( @Json(name = "created_at") val createdAt: String? ) +//add friends +data class AddFriendRequest( + @Json(name = "friend_id") val friendId: String +) val PendingFriendApiModel.fullPendingAvatarUrl: Any get() = if (pendingAvatarUrl.isNullOrBlank()) { diff --git a/app/src/main/java/com/example/login_v3/data/repository/basic/Friends_Repository.kt b/app/src/main/java/com/example/login_v3/data/repository/basic/Friends_Repository.kt index a9fae7f..222e323 100644 --- a/app/src/main/java/com/example/login_v3/data/repository/basic/Friends_Repository.kt +++ b/app/src/main/java/com/example/login_v3/data/repository/basic/Friends_Repository.kt @@ -1,6 +1,7 @@ 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.AddFriendRequest import com.example.login_v3.data.api.api_class.Friend import com.example.login_v3.data.api.api_class.PendingFriendApiModel import retrofit2.Response @@ -54,4 +55,13 @@ class FriendsRepository @Inject constructor( Result.failure(e) } } + //add friends + suspend fun sendFriendRequest(friendId: String): Result { + return safeApiCall { + // 確保這裡的參數名稱與 Data Class 定義的一模一樣 + val request = AddFriendRequest(friendId = friendId) + apiService.sendFriendRequest(request) + } + } + } \ No newline at end of file