Skip to content
Open
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 @@ -58,13 +58,11 @@ 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.MuteUserRequest
import io.getstream.chat.android.client.api2.model.requests.PartialUpdateMessageRequest
import io.getstream.chat.android.client.api2.model.requests.PartialUpdateUsersRequest
import io.getstream.chat.android.client.api2.model.requests.PinnedMessagesRequest
import io.getstream.chat.android.client.api2.model.requests.QueryBannedUsersRequest
import io.getstream.chat.android.client.api2.model.requests.QueryDraftMessagesRequest
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.SendEventRequest
import io.getstream.chat.android.client.api2.model.requests.SendMessageRequest
Expand Down Expand Up @@ -145,6 +143,7 @@ import io.getstream.chat.android.network.models.CastPollVoteRequest
import io.getstream.chat.android.network.models.CreateDeviceRequest
import io.getstream.chat.android.network.models.CreatePollOptionRequest
import io.getstream.chat.android.network.models.CreatePollRequest
import io.getstream.chat.android.network.models.CreateReminderRequest
import io.getstream.chat.android.network.models.CreateUserGroupRequest
import io.getstream.chat.android.network.models.CreateUserGroupResponse
import io.getstream.chat.android.network.models.DeliveredMessagePayload
Expand All @@ -171,8 +170,10 @@ 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.UpdateMessagePartialRequest
import io.getstream.chat.android.network.models.UpdatePollOptionRequest
import io.getstream.chat.android.network.models.UpdatePollPartialRequest
import io.getstream.chat.android.network.models.UpdateReminderRequest
import io.getstream.chat.android.network.models.UpdateThreadPartialRequest
import io.getstream.chat.android.network.models.UpdateUserGroupRequest
import io.getstream.chat.android.network.models.UpdateUserGroupResponse
Expand Down Expand Up @@ -363,10 +364,10 @@ constructor(
): Call<Message> {
return messageApi.partialUpdateMessage(
messageId = messageId,
body = PartialUpdateMessageRequest(
body = UpdateMessagePartialRequest(
set = set.toDto(),
unset = unset,
skip_enrich_url = skipEnrichUrl,
skipEnrichUrl = skipEnrichUrl,
),
).mapDomain { response ->
response.message.toDomain()
Expand Down Expand Up @@ -1948,14 +1949,14 @@ constructor(
override fun createReminder(messageId: String, remindAt: Date?): Call<MessageReminder> {
return remindersApi.createReminder(
messageId = messageId,
body = ReminderRequest(remind_at = remindAt),
body = CreateReminderRequest(remindAt = remindAt),
).mapDomain { it.reminder.toDomain() }
}

override fun updateReminder(messageId: String, remindAt: Date?): Call<MessageReminder> {
return remindersApi.updateReminder(
messageId = messageId,
body = ReminderRequest(remind_at = remindAt),
body = UpdateReminderRequest(remindAt = remindAt),
).mapDomain { it.reminder.toDomain() }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
package io.getstream.chat.android.client.api2.endpoint

import io.getstream.chat.android.client.api.AuthenticatedApi
import io.getstream.chat.android.client.api2.model.requests.PartialUpdateMessageRequest
import io.getstream.chat.android.client.api2.model.requests.QueryDraftMessagesRequest
import io.getstream.chat.android.client.api2.model.requests.SendMessageRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateMessageRequest
Expand All @@ -35,6 +34,7 @@ import io.getstream.chat.android.network.models.QueryDraftsRequest
import io.getstream.chat.android.network.models.QueryReactionsRequest
import io.getstream.chat.android.network.models.Response
import io.getstream.chat.android.network.models.SendReactionRequest
import io.getstream.chat.android.network.models.UpdateMessagePartialRequest
import retrofit2.http.Body
import retrofit2.http.DELETE
import retrofit2.http.GET
Expand Down Expand Up @@ -100,7 +100,7 @@ internal interface MessageApi {
@PUT("/messages/{id}")
fun partialUpdateMessage(
@Path("id") messageId: String,
@Body body: PartialUpdateMessageRequest,
@Body body: UpdateMessagePartialRequest,
): RetrofitCall<MessageResponse>

@DELETE("/messages/{id}")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
package io.getstream.chat.android.client.api2.endpoint

import io.getstream.chat.android.client.api.AuthenticatedApi
import io.getstream.chat.android.client.api2.model.requests.ReminderRequest
import io.getstream.chat.android.client.api2.model.response.QueryRemindersResponse
import io.getstream.chat.android.client.api2.model.response.ReminderResponse
import io.getstream.chat.android.client.call.RetrofitCall
import io.getstream.chat.android.network.models.CreateReminderRequest
import io.getstream.chat.android.network.models.QueryRemindersRequest
import io.getstream.chat.android.network.models.Response
import io.getstream.chat.android.network.models.UpdateReminderRequest
import retrofit2.http.Body
import retrofit2.http.DELETE
import retrofit2.http.PATCH
Expand Down Expand Up @@ -54,7 +55,7 @@ internal interface RemindersApi {
@POST("/messages/{id}/reminders")
fun createReminder(
@Path("id") messageId: String,
@Body body: ReminderRequest,
@Body body: CreateReminderRequest,
): RetrofitCall<ReminderResponse>

/**
Expand All @@ -66,7 +67,7 @@ internal interface RemindersApi {
@PATCH("/messages/{id}/reminders")
fun updateReminder(
@Path("id") messageId: String,
@Body body: ReminderRequest,
@Body body: UpdateReminderRequest,
): RetrofitCall<ReminderResponse>

/**
Expand Down

This file was deleted.

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

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

import com.squareup.moshi.JsonClass
import java.util.Date
package io.getstream.chat.android.network.models

import com.squareup.moshi.Json

/**
* Request object for creating/updating a reminder.
*
* @property remind_at The date when the reminder should be sent.
*/
@JsonClass(generateAdapter = true)
internal data class ReminderRequest(val remind_at: Date?)

@com.squareup.moshi.JsonClass(generateAdapter = true)
internal data class CreateReminderRequest(
@Json(name = "remind_at")
val remindAt: java.util.Date? = null,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* 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 UpdateMessagePartialRequest(
@Json(name = "skip_enrich_url")
val skipEnrichUrl: kotlin.Boolean? = null,

@Json(name = "skip_push")
val skipPush: kotlin.Boolean? = null,

@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
@@ -0,0 +1,36 @@
/*
* 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

/**
*
*/

@com.squareup.moshi.JsonClass(generateAdapter = true)
internal data class UpdateReminderRequest(
@Json(name = "remind_at")
val remindAt: java.util.Date? = null,
)
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,10 @@ 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.MuteUserRequest
import io.getstream.chat.android.client.api2.model.requests.PartialUpdateMessageRequest
import io.getstream.chat.android.client.api2.model.requests.PartialUpdateUsersRequest
import io.getstream.chat.android.client.api2.model.requests.PinnedMessagesRequest
import io.getstream.chat.android.client.api2.model.requests.QueryBannedUsersRequest
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.SendEventRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateCooldownRequest
import io.getstream.chat.android.client.api2.model.requests.UpdateLiveLocationRequest
Expand Down Expand Up @@ -144,6 +142,7 @@ import io.getstream.chat.android.network.models.CastPollVoteRequest
import io.getstream.chat.android.network.models.CreateDeviceRequest
import io.getstream.chat.android.network.models.CreatePollOptionRequest
import io.getstream.chat.android.network.models.CreatePollRequest
import io.getstream.chat.android.network.models.CreateReminderRequest
import io.getstream.chat.android.network.models.CreateUserGroupRequest
import io.getstream.chat.android.network.models.CreateUserGroupResponse
import io.getstream.chat.android.network.models.DeliveredMessagePayload
Expand Down Expand Up @@ -175,8 +174,10 @@ 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.UpdateMessagePartialRequest
import io.getstream.chat.android.network.models.UpdatePollOptionRequest
import io.getstream.chat.android.network.models.UpdatePollPartialRequest
import io.getstream.chat.android.network.models.UpdateReminderRequest
import io.getstream.chat.android.network.models.UpdateThreadPartialRequest
import io.getstream.chat.android.network.models.UpdateUserGroupRequest
import io.getstream.chat.android.network.models.UpdateUserGroupResponse
Expand Down Expand Up @@ -372,10 +373,10 @@ internal class MoshiChatApiTest {
val skipEnrichUrl = randomBoolean()
val result = sut.partialUpdateMessage(messageId, set, unset, skipEnrichUrl).await()
// then
val expectedRequest = PartialUpdateMessageRequest(
val expectedRequest = UpdateMessagePartialRequest(
set = set,
unset = unset,
skip_enrich_url = skipEnrichUrl,
skipEnrichUrl = skipEnrichUrl,
)
result `should be instance of` expected
verify(api, times(1)).partialUpdateMessage(messageId, expectedRequest)
Expand Down Expand Up @@ -2859,7 +2860,7 @@ internal class MoshiChatApiTest {
val remindAt = randomDate()
val result = sut.createReminder(messageId, remindAt).await()
// then
val expectedBody = ReminderRequest(remind_at = remindAt)
val expectedBody = CreateReminderRequest(remindAt = remindAt)
result `should be instance of` expected
verify(api, times(1)).createReminder(messageId, expectedBody)
}
Expand All @@ -2878,7 +2879,7 @@ internal class MoshiChatApiTest {
val remindAt = randomDate()
val result = sut.updateReminder(messageId, remindAt).await()
// then
val expectedBody = ReminderRequest(remind_at = remindAt)
val expectedBody = UpdateReminderRequest(remindAt = remindAt)
result `should be instance of` expected
verify(api, times(1)).updateReminder(messageId, expectedBody)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*
* 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.
*/

package io.getstream.chat.android.client.parser2

import io.getstream.chat.android.client.parser2.testdata.MessageAndReminderRequestTestData
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test

internal class MessageAndReminderRequestAdapterTest {
private val parser = ParserFactory.createMoshiChatParser()

@Test
fun `Serialize UpdateMessagePartialRequest with all fields`() {
val json = parser.toJson(MessageAndReminderRequestTestData.updateMessagePartialRequest)
Assertions.assertEquals(MessageAndReminderRequestTestData.updateMessagePartialRequestJson, json)
}

@Test
fun `Serialize UpdateMessagePartialRequest with default fields`() {
val json = parser.toJson(MessageAndReminderRequestTestData.updateMessagePartialRequestWithDefaults)
Assertions.assertEquals(MessageAndReminderRequestTestData.updateMessagePartialRequestJsonWithDefaults, json)
}

@Test
fun `Serialize CreateReminderRequest with remind at`() {
val json = parser.toJson(MessageAndReminderRequestTestData.createReminderRequest)
Assertions.assertEquals(MessageAndReminderRequestTestData.createReminderRequestJson, json)
}

@Test
fun `Serialize CreateReminderRequest without remind at`() {
val json = parser.toJson(MessageAndReminderRequestTestData.createReminderRequestWithDefaults)
Assertions.assertEquals(MessageAndReminderRequestTestData.createReminderRequestJsonWithDefaults, json)
}

@Test
fun `Serialize UpdateReminderRequest with remind at`() {
val json = parser.toJson(MessageAndReminderRequestTestData.updateReminderRequest)
Assertions.assertEquals(MessageAndReminderRequestTestData.updateReminderRequestJson, json)
}

@Test
fun `Serialize UpdateReminderRequest without remind at`() {
val json = parser.toJson(MessageAndReminderRequestTestData.updateReminderRequestWithDefaults)
Assertions.assertEquals(MessageAndReminderRequestTestData.updateReminderRequestJsonWithDefaults, json)
}
}
Loading
Loading