Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ import io.getstream.chat.android.client.api2.model.requests.FlagRequest
import io.getstream.chat.android.client.api2.model.requests.FlagUserRequest
import io.getstream.chat.android.client.api2.model.requests.GuestUserRequest
import io.getstream.chat.android.client.api2.model.requests.InviteMembersRequest
import io.getstream.chat.android.client.api2.model.requests.MarkDeliveredRequest
import io.getstream.chat.android.client.api2.model.requests.MuteUserRequest
import io.getstream.chat.android.client.api2.model.requests.PartialUpdateMessageRequest
import io.getstream.chat.android.client.api2.model.requests.PartialUpdatePollRequest
Expand All @@ -80,15 +79,13 @@ import io.getstream.chat.android.client.api2.model.requests.RejectInviteRequest
import io.getstream.chat.android.client.api2.model.requests.ReminderRequest
import io.getstream.chat.android.client.api2.model.requests.RemoveMembersRequest
import io.getstream.chat.android.client.api2.model.requests.RemoveUserGroupMembersRequest
import io.getstream.chat.android.client.api2.model.requests.SendActionRequest
import io.getstream.chat.android.client.api2.model.requests.SendEventRequest
import io.getstream.chat.android.client.api2.model.requests.SendMessageRequest
import io.getstream.chat.android.client.api2.model.requests.SyncHistoryRequest
import io.getstream.chat.android.client.api2.model.requests.TruncateChannelRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateChannelRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateCooldownRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateLiveLocationRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateMemberPartialRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateMessageRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateUserGroupRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateUsersRequest
Expand Down Expand Up @@ -161,14 +158,18 @@ import io.getstream.chat.android.models.querysort.QuerySorter
import io.getstream.chat.android.network.models.BlockUsersRequest
import io.getstream.chat.android.network.models.CastPollVoteRequest
import io.getstream.chat.android.network.models.CreateDeviceRequest
import io.getstream.chat.android.network.models.DeliveredMessagePayload
import io.getstream.chat.android.network.models.HideChannelRequest
import io.getstream.chat.android.network.models.MarkDeliveredRequest
import io.getstream.chat.android.network.models.MarkReadRequest
import io.getstream.chat.android.network.models.MarkUnreadRequest
import io.getstream.chat.android.network.models.MessageActionRequest
import io.getstream.chat.android.network.models.MuteChannelRequest
import io.getstream.chat.android.network.models.QueryReactionsRequest
import io.getstream.chat.android.network.models.SortParamRequest
import io.getstream.chat.android.network.models.UnblockUsersRequest
import io.getstream.chat.android.network.models.UpdateChannelPartialRequest
import io.getstream.chat.android.network.models.UpdateMemberPartialRequest
import io.getstream.chat.android.network.models.VoteData
import io.getstream.log.taggedLogger
import io.getstream.result.Error
Expand Down Expand Up @@ -1155,7 +1156,9 @@ constructor(

override fun markDelivered(messages: List<Message>): Call<Unit> =
channelApi.markDelivered(
request = MarkDeliveredRequest.create(messages),
request = MarkDeliveredRequest(
latestDeliveredMessages = messages.map { DeliveredMessagePayload(cid = it.cid, id = it.id) },
),
).toUnitCall()

override fun markThreadRead(channelType: String, channelId: String, threadId: String): Call<Unit> {
Expand Down Expand Up @@ -1260,7 +1263,7 @@ constructor(
channelType = channelType,
channelId = channelId,
userId = userId,
body = UpdateMemberPartialRequest(set, unset),
body = UpdateMemberPartialRequest(set = set, unset = unset),
).mapDomain { response ->
response.channel_member.toDomain()
}
Expand Down Expand Up @@ -1337,11 +1340,8 @@ constructor(
override fun sendAction(request: DomainSendActionRequest): Call<Message> {
return messageApi.sendAction(
messageId = request.messageId,
request = SendActionRequest(
channel_id = request.channelId,
message_id = request.messageId,
type = request.type,
form_data = request.formData,
request = MessageActionRequest(
formData = request.formData.entries.associate { (k, v) -> k.toString() to v.toString() },
),
).mapDomain { response ->
response.message.toDomain()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import io.getstream.chat.android.client.api2.UrlQueryPayload
import io.getstream.chat.android.client.api2.model.requests.AcceptInviteRequest
import io.getstream.chat.android.client.api2.model.requests.AddMembersRequest
import io.getstream.chat.android.client.api2.model.requests.InviteMembersRequest
import io.getstream.chat.android.client.api2.model.requests.MarkDeliveredRequest
import io.getstream.chat.android.client.api2.model.requests.PinnedMessagesRequest
import io.getstream.chat.android.client.api2.model.requests.QueryChannelRequest
import io.getstream.chat.android.client.api2.model.requests.QueryChannelsRequest
Expand All @@ -33,7 +32,6 @@ import io.getstream.chat.android.client.api2.model.requests.SendEventRequest
import io.getstream.chat.android.client.api2.model.requests.TruncateChannelRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateChannelRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateCooldownRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateMemberPartialRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateMemberPartialResponse
import io.getstream.chat.android.client.api2.model.response.ChannelResponse
import io.getstream.chat.android.client.api2.model.response.EventResponse
Expand All @@ -42,10 +40,12 @@ import io.getstream.chat.android.client.api2.model.response.QueryChannelsRespons
import io.getstream.chat.android.client.api2.model.response.QueryGroupedChannelsResponse
import io.getstream.chat.android.client.call.RetrofitCall
import io.getstream.chat.android.network.models.HideChannelRequest
import io.getstream.chat.android.network.models.MarkDeliveredRequest
import io.getstream.chat.android.network.models.MarkReadRequest
import io.getstream.chat.android.network.models.MarkUnreadRequest
import io.getstream.chat.android.network.models.Response
import io.getstream.chat.android.network.models.UpdateChannelPartialRequest
import io.getstream.chat.android.network.models.UpdateMemberPartialRequest
import retrofit2.http.Body
import retrofit2.http.DELETE
import retrofit2.http.GET
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import io.getstream.chat.android.client.api2.model.requests.PartialUpdateMessage
import io.getstream.chat.android.client.api2.model.requests.QueryDraftMessagesRequest
import io.getstream.chat.android.client.api2.model.requests.QueryDraftsRequest
import io.getstream.chat.android.client.api2.model.requests.ReactionRequest
import io.getstream.chat.android.client.api2.model.requests.SendActionRequest
import io.getstream.chat.android.client.api2.model.requests.SendMessageRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateMessageRequest
import io.getstream.chat.android.client.api2.model.response.DraftMessageResponse
Expand All @@ -33,6 +32,7 @@ import io.getstream.chat.android.client.api2.model.response.ReactionResponse
import io.getstream.chat.android.client.api2.model.response.ReactionsResponse
import io.getstream.chat.android.client.api2.model.response.TranslateMessageRequest
import io.getstream.chat.android.client.call.RetrofitCall
import io.getstream.chat.android.network.models.MessageActionRequest
import io.getstream.chat.android.network.models.QueryReactionsRequest
import io.getstream.chat.android.network.models.Response
import retrofit2.http.Body
Expand Down Expand Up @@ -113,7 +113,7 @@ internal interface MessageApi {
@POST("/messages/{id}/action")
fun sendAction(
@Path("id") messageId: String,
@Body request: SendActionRequest,
@Body request: MessageActionRequest,
): RetrofitCall<MessageResponse>

@POST("/messages/{id}/reaction")
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,26 @@
* limitations under the License.
*/

package io.getstream.chat.android.client.api2.model.requests
@file:Suppress(
"ArrayInDataClass",
"EnumEntryName",
"RemoveRedundantQualifierName",
"UnusedImport",
)

package io.getstream.chat.android.network.models

import com.squareup.moshi.JsonClass
import com.squareup.moshi.Json

/**
* Used to form a partial member update request.
*
* @param set Map of key-value pairs to set.
* @param unset List of keys to unset.
*/
@JsonClass(generateAdapter = true)
internal data class UpdateMemberPartialRequest(
val set: Map<String, Any>,
val unset: List<String>,

@com.squareup.moshi.JsonClass(generateAdapter = true)
internal data class DeliveredMessagePayload(
@Json(name = "cid")
val cid: kotlin.String? = null,

@Json(name = "id")
val id: kotlin.String? = null,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*
* Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
*
* Licensed under the Stream License;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

@file:Suppress(
"ArrayInDataClass",
"EnumEntryName",
"RemoveRedundantQualifierName",
"UnusedImport",
)

package io.getstream.chat.android.network.models

import com.squareup.moshi.Json
import kotlin.collections.List

/**
*
*/

@com.squareup.moshi.JsonClass(generateAdapter = true)
internal data class MarkDeliveredRequest(
@Json(name = "latest_delivered_messages")
val latestDeliveredMessages: kotlin.collections.List<DeliveredMessagePayload>? = emptyList(),
)
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,24 @@
* limitations under the License.
*/

package io.getstream.chat.android.client.api2.model.requests
@file:Suppress(
"ArrayInDataClass",
"EnumEntryName",
"RemoveRedundantQualifierName",
"UnusedImport",
)

package io.getstream.chat.android.network.models

import com.squareup.moshi.Json
import kotlin.collections.Map

import com.squareup.moshi.JsonClass
/**
*
*/

@JsonClass(generateAdapter = true)
internal data class SendActionRequest(
val channel_id: String,
val message_id: String,
val type: String,
val form_data: Map<Any, Any>,
@com.squareup.moshi.JsonClass(generateAdapter = true)
internal data class MessageActionRequest(
@Json(name = "form_data")
val formData: kotlin.collections.Map<kotlin.String, kotlin.String> = emptyMap(),
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
* Copyright (c) 2014-2026 Stream.io Inc. All rights reserved.
*
* Licensed under the Stream License;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://github.com/GetStream/stream-chat-android/blob/main/LICENSE
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

@file:Suppress(
"ArrayInDataClass",
"EnumEntryName",
"RemoveRedundantQualifierName",
"UnusedImport",
)

package io.getstream.chat.android.network.models

import com.squareup.moshi.Json
import kotlin.collections.List
import kotlin.collections.Map

/**
*
*/

@com.squareup.moshi.JsonClass(generateAdapter = true)
internal data class UpdateMemberPartialRequest(
@Json(name = "unset")
val unset: kotlin.collections.List<kotlin.String>? = emptyList(),

@Json(name = "set")
val set: kotlin.collections.Map<kotlin.String, Any?>? = emptyMap(),
)
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,9 @@ import io.getstream.chat.android.client.api2.model.requests.AddUserGroupMembersR
import io.getstream.chat.android.client.api2.model.requests.BanUserRequest
import io.getstream.chat.android.client.api2.model.requests.CreatePollRequest
import io.getstream.chat.android.client.api2.model.requests.CreateUserGroupRequest
import io.getstream.chat.android.client.api2.model.requests.DeliveredMessageDto
import io.getstream.chat.android.client.api2.model.requests.FlagMessageRequest
import io.getstream.chat.android.client.api2.model.requests.FlagUserRequest
import io.getstream.chat.android.client.api2.model.requests.GuestUserRequest
import io.getstream.chat.android.client.api2.model.requests.MarkDeliveredRequest
import io.getstream.chat.android.client.api2.model.requests.MuteUserRequest
import io.getstream.chat.android.client.api2.model.requests.PartialUpdateMessageRequest
import io.getstream.chat.android.client.api2.model.requests.PartialUpdatePollRequest
Expand All @@ -71,11 +69,9 @@ import io.getstream.chat.android.client.api2.model.requests.QueryRemindersReques
import io.getstream.chat.android.client.api2.model.requests.RejectInviteRequest
import io.getstream.chat.android.client.api2.model.requests.ReminderRequest
import io.getstream.chat.android.client.api2.model.requests.RemoveUserGroupMembersRequest
import io.getstream.chat.android.client.api2.model.requests.SendActionRequest
import io.getstream.chat.android.client.api2.model.requests.SendEventRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateCooldownRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateLiveLocationRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateMemberPartialRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateMemberPartialResponse
import io.getstream.chat.android.client.api2.model.requests.UpdateUserGroupRequest
import io.getstream.chat.android.client.api2.model.requests.UpsertPushPreferencesRequest
Expand Down Expand Up @@ -157,17 +153,21 @@ import io.getstream.chat.android.network.models.BlockUsersRequest
import io.getstream.chat.android.network.models.BlockUsersResponse
import io.getstream.chat.android.network.models.CastPollVoteRequest
import io.getstream.chat.android.network.models.CreateDeviceRequest
import io.getstream.chat.android.network.models.DeliveredMessagePayload
import io.getstream.chat.android.network.models.HideChannelRequest
import io.getstream.chat.android.network.models.ListDevicesResponse
import io.getstream.chat.android.network.models.MarkDeliveredRequest
import io.getstream.chat.android.network.models.MarkReadRequest
import io.getstream.chat.android.network.models.MarkUnreadRequest
import io.getstream.chat.android.network.models.MessageActionRequest
import io.getstream.chat.android.network.models.MuteChannelRequest
import io.getstream.chat.android.network.models.QueryReactionsRequest
import io.getstream.chat.android.network.models.Response
import io.getstream.chat.android.network.models.SearchRolesResponse
import io.getstream.chat.android.network.models.UnblockUsersRequest
import io.getstream.chat.android.network.models.UnblockUsersResponse
import io.getstream.chat.android.network.models.UpdateChannelPartialRequest
import io.getstream.chat.android.network.models.UpdateMemberPartialRequest
import io.getstream.chat.android.network.models.VoteData
import io.getstream.chat.android.positiveRandomInt
import io.getstream.chat.android.randomBoolean
Expand Down Expand Up @@ -1467,8 +1467,8 @@ internal class MoshiChatApiTest {
val result = sut.markDelivered(messages).await()
// then
val expectedRequest = MarkDeliveredRequest(
latest_delivered_messages = messages.map { messageInfo ->
DeliveredMessageDto(
latestDeliveredMessages = messages.map { messageInfo ->
DeliveredMessagePayload(
cid = messageInfo.cid,
id = messageInfo.id,
)
Expand Down Expand Up @@ -1695,11 +1695,8 @@ internal class MoshiChatApiTest {
val request = Mother.randomSendActionRequest()
val result = sut.sendAction(request).await()
// then
val expectedRequest = SendActionRequest(
channel_id = request.channelId,
message_id = request.messageId,
type = request.type,
form_data = request.formData,
val expectedRequest = MessageActionRequest(
formData = request.formData.entries.associate { (k, v) -> k.toString() to v.toString() },
)
result `should be instance of` expected
verify(api, times(1)).sendAction(request.messageId, expectedRequest)
Expand Down
Loading