diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/dm/data/DmChatApi.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/dm/data/DmChatApi.kt index c4657c5a..5b62df41 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/dm/data/DmChatApi.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/dm/data/DmChatApi.kt @@ -2,10 +2,14 @@ package kr.co.vividnext.sodalive.v2.main.chat.dm.data import io.reactivex.rxjava3.core.Single import kr.co.vividnext.sodalive.common.ApiResponse +import okhttp3.MultipartBody +import okhttp3.RequestBody import retrofit2.http.Body import retrofit2.http.GET +import retrofit2.http.Multipart import retrofit2.http.Header import retrofit2.http.POST +import retrofit2.http.Part import retrofit2.http.Path import retrofit2.http.Query @@ -30,4 +34,13 @@ interface DmChatApi { @Query("cursor") cursor: Long?, @Query("limit") limit: Int = 20 ): Single> + + @Multipart + @POST("/api/v2/user-creator-chat/rooms/{roomId}/messages/voice") + fun sendDmVoiceMessage( + @Header("Authorization") authHeader: String, + @Path("roomId") roomId: Long, + @Part voiceMessageFile: MultipartBody.Part, + @Part("request") request: RequestBody + ): Single> } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/dm/data/DmChatModels.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/dm/data/DmChatModels.kt index a6f38a30..85a8a81e 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/dm/data/DmChatModels.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/dm/data/DmChatModels.kt @@ -42,3 +42,10 @@ data class DmChatMessageResponse( @SerializedName("senderNickname") val senderNickname: String, @SerializedName("senderProfileImageUrl") val senderProfileImageUrl: String ) + +@Keep +data class SendDmVoiceMessageResponse( + @SerializedName("message") val message: DmChatMessageResponse, + @SerializedName("deliveredRealtime") val deliveredRealtime: Boolean, + @SerializedName("pushSent") val pushSent: Boolean +)