mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 05:47:05 +09:00
DROID-3044 Chats | Enhancement | Basics for chat replies (#1854)
This commit is contained in:
parent
81394a3589
commit
3994d456d5
18 changed files with 352 additions and 43 deletions
|
@ -1038,6 +1038,10 @@ class BlockMiddleware(
|
|||
return middleware.chatGetMessages(command)
|
||||
}
|
||||
|
||||
override suspend fun getChatMessagesByIds(command: Command.ChatCommand.GetMessagesByIds): List<Chat.Message> {
|
||||
return middleware.chatGetMessagesByIds(command)
|
||||
}
|
||||
|
||||
override suspend fun subscribeLastChatMessages(
|
||||
command: Command.ChatCommand.SubscribeLastMessages
|
||||
): Command.ChatCommand.SubscribeLastMessages.Response {
|
||||
|
|
|
@ -2744,6 +2744,18 @@ class Middleware @Inject constructor(
|
|||
return response.messages.map { it.core() }
|
||||
}
|
||||
|
||||
@Throws
|
||||
fun chatGetMessagesByIds(command: Command.ChatCommand.GetMessagesByIds) : List<Chat.Message> {
|
||||
val request = Rpc.Chat.GetMessagesByIds.Request(
|
||||
chatObjectId = command.chat,
|
||||
messageIds = command.messages
|
||||
)
|
||||
logRequestIfDebug(request)
|
||||
val (response, time) = measureTimedValue { service.chatGetMessagesByIds(request) }
|
||||
logResponseIfDebug(response, time)
|
||||
return response.messages.map { it.core() }
|
||||
}
|
||||
|
||||
@Throws
|
||||
fun chatDeleteMessage(command: Command.ChatCommand.DeleteMessage) {
|
||||
val request = Rpc.Chat.DeleteMessage.Request(
|
||||
|
|
|
@ -593,6 +593,7 @@ interface MiddlewareService {
|
|||
fun chatAddMessage(request: Rpc.Chat.AddMessage.Request): Rpc.Chat.AddMessage.Response
|
||||
fun chatEditMessage(request: Rpc.Chat.EditMessageContent.Request): Rpc.Chat.EditMessageContent.Response
|
||||
fun chatGetMessages(request: Rpc.Chat.GetMessages.Request): Rpc.Chat.GetMessages.Response
|
||||
fun chatGetMessagesByIds(request: Rpc.Chat.GetMessagesByIds.Request): Rpc.Chat.GetMessagesByIds.Response
|
||||
fun chatDeleteMessage(request: Rpc.Chat.DeleteMessage.Request): Rpc.Chat.DeleteMessage.Response
|
||||
fun chatSubscribeLastMessages(request: Rpc.Chat.SubscribeLastMessages.Request): Rpc.Chat.SubscribeLastMessages.Response
|
||||
fun chatToggleMessageReaction(request: Rpc.Chat.ToggleMessageReaction.Request): Rpc.Chat.ToggleMessageReaction.Response
|
||||
|
|
|
@ -2358,6 +2358,19 @@ class MiddlewareServiceImplementation @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
override fun chatGetMessagesByIds(request: Rpc.Chat.GetMessagesByIds.Request): Rpc.Chat.GetMessagesByIds.Response {
|
||||
val encoded = Service.chatGetMessagesByIds(
|
||||
Rpc.Chat.GetMessagesByIds.Request.ADAPTER.encode(request)
|
||||
)
|
||||
val response = Rpc.Chat.GetMessagesByIds.Response.ADAPTER.decode(encoded)
|
||||
val error = response.error
|
||||
if (error != null && error.code != Rpc.Chat.GetMessagesByIds.Response.Error.Code.NULL) {
|
||||
throw Exception(error.description)
|
||||
} else {
|
||||
return response
|
||||
}
|
||||
}
|
||||
|
||||
override fun chatSubscribeLastMessages(request: Rpc.Chat.SubscribeLastMessages.Request): Rpc.Chat.SubscribeLastMessages.Response {
|
||||
val encoded = Service.chatSubscribeLastMessages(
|
||||
Rpc.Chat.SubscribeLastMessages.Request.ADAPTER.encode(request)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue