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