From fcfc70c386a233c7576e9e20208ea91e47772e0a Mon Sep 17 00:00:00 2001 From: Eric85710 Date: Fri, 8 May 2026 16:28:42 +0800 Subject: [PATCH] auth to server-V71 --- .../example/login_v3/data/api/Main_API_Service.kt | 6 +++++- .../data/repository/basic/Friends_Repository.kt | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) 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 9771a1f..c7f86d8 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 @@ -10,6 +10,7 @@ import retrofit2.http.Multipart import retrofit2.http.PATCH import retrofit2.http.POST import retrofit2.http.Part +import retrofit2.http.Path interface TecnologiaApi { @@ -50,7 +51,10 @@ interface TecnologiaApi { // friends @GET("api/friends") suspend fun getFriends(): FriendListResponse - @GET("api/friends/pending") suspend fun getFriendsPending(): PendingFriendsResponse + @POST("api/friends/{id}/accept") + suspend fun acceptFriendRequest( + @Path("id") friendshipId: String + ): Response } \ No newline at end of file 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 844c04d..de89fc2 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 @@ -21,6 +21,8 @@ class FriendsRepository @Inject constructor( } } + + //pending list suspend fun getPendingRequests(): Result> { return try { val response = apiService.getFriendsPending() @@ -30,4 +32,17 @@ class FriendsRepository @Inject constructor( Result.failure(e) } } + + suspend fun acceptFriendRequest(friendshipId: String): Result { + return try { + val response = apiService.acceptFriendRequest(friendshipId) + if (response.isSuccessful) { + Result.success(Unit) + } else { + Result.failure(Exception("接受失敗: ${response.code()}")) + } + } catch (e: Exception) { + Result.failure(e) + } + } } \ No newline at end of file