pinned message in messages history draft
This commit is contained in:
@@ -46,20 +46,22 @@ interface MessagesRepository {
|
||||
title: String?
|
||||
): ApiResult<Int, RestApiErrorDomain>
|
||||
|
||||
suspend fun pin(
|
||||
peerId: Int,
|
||||
messageId: Int?,
|
||||
conversationMessageId: Int?
|
||||
): ApiResult<VkMessage, RestApiErrorDomain>
|
||||
|
||||
suspend fun unpin(
|
||||
peerId: Int
|
||||
): ApiResult<Int, RestApiErrorDomain>
|
||||
|
||||
suspend fun storeMessages(messages: List<VkMessage>)
|
||||
|
||||
// suspend fun markAsImportant(
|
||||
// params: MessagesMarkAsImportantRequest
|
||||
// ): ApiResult<List<Int>, RestApiErrorDomain>
|
||||
//
|
||||
// suspend fun pin(
|
||||
// params: MessagesPinMessageRequest
|
||||
// ): ApiResult<VkMessageData, RestApiErrorDomain>
|
||||
//
|
||||
// suspend fun unpin(
|
||||
// params: MessagesUnPinMessageRequest
|
||||
// ): ApiResult<Unit, RestApiErrorDomain>
|
||||
//
|
||||
// suspend fun delete(
|
||||
// params: MessagesDeleteRequest
|
||||
// ): ApiResult<Unit, RestApiErrorDomain>
|
||||
|
||||
+28
-19
@@ -20,7 +20,9 @@ import dev.meloda.fast.model.api.requests.MessagesGetByIdRequest
|
||||
import dev.meloda.fast.model.api.requests.MessagesGetHistoryAttachmentsRequest
|
||||
import dev.meloda.fast.model.api.requests.MessagesGetHistoryRequest
|
||||
import dev.meloda.fast.model.api.requests.MessagesMarkAsReadRequest
|
||||
import dev.meloda.fast.model.api.requests.MessagesPinMessageRequest
|
||||
import dev.meloda.fast.model.api.requests.MessagesSendRequest
|
||||
import dev.meloda.fast.model.api.requests.MessagesUnPinMessageRequest
|
||||
import dev.meloda.fast.network.RestApiErrorDomain
|
||||
import dev.meloda.fast.network.mapApiDefault
|
||||
import dev.meloda.fast.network.mapApiResult
|
||||
@@ -216,6 +218,32 @@ class MessagesRepositoryImpl(
|
||||
)
|
||||
}
|
||||
|
||||
override suspend fun pin(
|
||||
peerId: Int,
|
||||
messageId: Int?,
|
||||
conversationMessageId: Int?
|
||||
): ApiResult<VkMessage, RestApiErrorDomain> = withContext(Dispatchers.IO) {
|
||||
val requestModel = MessagesPinMessageRequest(
|
||||
peerId = peerId,
|
||||
messageId = messageId,
|
||||
conversationMessageId = conversationMessageId
|
||||
)
|
||||
|
||||
messagesService.pin(requestModel.map).mapApiResult(
|
||||
successMapper = { apiResponse ->
|
||||
apiResponse.requireResponse().asDomain()
|
||||
},
|
||||
errorMapper = { error -> error?.toDomain() }
|
||||
)
|
||||
}
|
||||
|
||||
override suspend fun unpin(
|
||||
peerId: Int
|
||||
): ApiResult<Int, RestApiErrorDomain> = withContext(Dispatchers.IO) {
|
||||
val requestModel = MessagesUnPinMessageRequest(peerId = peerId)
|
||||
messagesService.unpin(requestModel.map).mapApiDefault()
|
||||
}
|
||||
|
||||
override suspend fun storeMessages(messages: List<VkMessage>) {
|
||||
messageDao.insertAll(messages.map(VkMessage::asEntity))
|
||||
}
|
||||
@@ -229,24 +257,6 @@ class MessagesRepositoryImpl(
|
||||
// )
|
||||
// }
|
||||
//
|
||||
// override suspend fun pin(
|
||||
// params: MessagesPinMessageRequest
|
||||
// ): ApiResult<VkMessageData, RestApiErrorDomain> = withContext(Dispatchers.IO) {
|
||||
// messagesService.pin(params.map).mapResult(
|
||||
// successMapper = { response -> response.requireResponse() },
|
||||
// errorMapper = { error -> error?.toDomain() }
|
||||
// )
|
||||
// }
|
||||
//
|
||||
// override suspend fun unpin(
|
||||
// params: MessagesUnPinMessageRequest
|
||||
// ): ApiResult<Unit, RestApiErrorDomain> = withContext(Dispatchers.IO) {
|
||||
// messagesService.unpin(params.map).mapResult(
|
||||
// successMapper = {},
|
||||
// errorMapper = { error -> error?.toDomain() }
|
||||
// )
|
||||
// }
|
||||
//
|
||||
// override suspend fun delete(
|
||||
// params: MessagesDeleteRequest
|
||||
// ): ApiResult<Unit, RestApiErrorDomain> = withContext(Dispatchers.IO) {
|
||||
@@ -293,4 +303,3 @@ class MessagesRepositoryImpl(
|
||||
// )
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user