diff --git a/app/src/main/java/com/dscvit/vitty/network/api/community/APICommunity.kt b/app/src/main/java/com/dscvit/vitty/network/api/community/APICommunity.kt index 1861769..bbc5bfe 100644 --- a/app/src/main/java/com/dscvit/vitty/network/api/community/APICommunity.kt +++ b/app/src/main/java/com/dscvit/vitty/network/api/community/APICommunity.kt @@ -5,6 +5,7 @@ import com.dscvit.vitty.network.api.community.requests.CircleBatchRequestBody import com.dscvit.vitty.network.api.community.requests.UsernameRequestBody import com.dscvit.vitty.network.api.community.responses.circle.CircleBatchRequestResponse import com.dscvit.vitty.network.api.community.responses.circle.CircleRequestsResponse +import com.dscvit.vitty.network.api.community.responses.circle.CreateCircleRequest import com.dscvit.vitty.network.api.community.responses.circle.CreateCircleResponse import com.dscvit.vitty.network.api.community.responses.circle.JoinCircleResponse import com.dscvit.vitty.network.api.community.responses.requests.RequestsResponse @@ -129,10 +130,10 @@ interface APICommunity { @Header("Authorization") authToken: String, ): Call - @POST("/api/v3/circles/create/{circleName}") + @POST("/api/v3/circles/create") fun createCircle( @Header("Authorization") authToken: String, - @Path("circleName") circleName: String, + @Body requestBody: CreateCircleRequest // ): Call @POST("/api/v3/circles/join") diff --git a/app/src/main/java/com/dscvit/vitty/network/api/community/APICommunityRestClient.kt b/app/src/main/java/com/dscvit/vitty/network/api/community/APICommunityRestClient.kt index 462f29c..d9ef161 100644 --- a/app/src/main/java/com/dscvit/vitty/network/api/community/APICommunityRestClient.kt +++ b/app/src/main/java/com/dscvit/vitty/network/api/community/APICommunityRestClient.kt @@ -7,6 +7,7 @@ import com.dscvit.vitty.network.api.community.requests.CircleBatchRequestBody import com.dscvit.vitty.network.api.community.requests.UsernameRequestBody import com.dscvit.vitty.network.api.community.responses.circle.CircleBatchRequestResponse import com.dscvit.vitty.network.api.community.responses.circle.CircleRequestsResponse +import com.dscvit.vitty.network.api.community.responses.circle.CreateCircleRequest import com.dscvit.vitty.network.api.community.responses.circle.CreateCircleResponse import com.dscvit.vitty.network.api.community.responses.circle.JoinCircleResponse import com.dscvit.vitty.network.api.community.responses.requests.RequestsResponse @@ -235,11 +236,12 @@ class APICommunityRestClient { val bearerToken = "Bearer $token" Timber.d("APICommunityRestClient.createCircle called with circleName: $circleName") + val requestBody = CreateCircleRequest(circleName = circleName) mApiUser = retrofit.create(APICommunity::class.java) - val apiCreateCircleCall = mApiUser!!.createCircle(bearerToken, circleName) + val apiCreateCircleCall = mApiUser!!.createCircle(bearerToken, requestBody) + Timber.d("API call created with request body, enqueueing request...") - Timber.d("API call created, enqueueing request...") apiCreateCircleCall.enqueue( object : Callback { @@ -248,7 +250,13 @@ class APICommunityRestClient { response: Response, ) { Timber.d("API Response received: ${response.code()}, body: ${response.body()}") - retrofitCreateCircleListener.onSuccess(call, response.body()) + if (response.isSuccessful) { + retrofitCreateCircleListener.onSuccess(call, response.body()) + } else { + val errorBody = response.errorBody()?.string() + Timber.e("API Error: ${response.code()} - $errorBody") + retrofitCreateCircleListener.onError(call, Throwable("API Error: ${response.code()} - ${errorBody ?: "Unknown error"}")) + } } override fun onFailure( diff --git a/app/src/main/java/com/dscvit/vitty/network/api/community/responses/circle/CircleBatchRequestResponse.kt b/app/src/main/java/com/dscvit/vitty/network/api/community/responses/circle/CircleBatchRequestResponse.kt index 0573154..75d53d7 100644 --- a/app/src/main/java/com/dscvit/vitty/network/api/community/responses/circle/CircleBatchRequestResponse.kt +++ b/app/src/main/java/com/dscvit/vitty/network/api/community/responses/circle/CircleBatchRequestResponse.kt @@ -8,3 +8,8 @@ data class CircleBatchResponseItem( data class CircleBatchRequestResponse( val data: List, ) + + +data class CreateCircleRequest( + val circleName: String +)