pinned message in messages history draft
This commit is contained in:
@@ -47,6 +47,16 @@ interface MessagesUseCase {
|
||||
title: String?
|
||||
): Flow<State<Int>>
|
||||
|
||||
fun pin(
|
||||
peerId: Int,
|
||||
messageId: Int?,
|
||||
conversationMessageId: Int?
|
||||
): Flow<State<VkMessage>>
|
||||
|
||||
fun unpin(
|
||||
peerId: Int
|
||||
): Flow<State<Int>>
|
||||
|
||||
suspend fun storeMessage(message: VkMessage)
|
||||
suspend fun storeMessages(messages: List<VkMessage>)
|
||||
}
|
||||
|
||||
@@ -108,6 +108,30 @@ class MessagesUseCaseImpl(
|
||||
emit(newState)
|
||||
}
|
||||
|
||||
override fun pin(
|
||||
peerId: Int,
|
||||
messageId: Int?,
|
||||
conversationMessageId: Int?
|
||||
): Flow<State<VkMessage>> = flow {
|
||||
emit(State.Loading)
|
||||
|
||||
val newState = repository.pin(
|
||||
peerId = peerId,
|
||||
messageId = messageId,
|
||||
conversationMessageId = conversationMessageId
|
||||
).mapToState()
|
||||
|
||||
emit(newState)
|
||||
}
|
||||
|
||||
override fun unpin(peerId: Int): Flow<State<Int>> = flow {
|
||||
emit(State.Loading)
|
||||
|
||||
val newState = repository.unpin(peerId = peerId).mapToState()
|
||||
|
||||
emit(newState)
|
||||
}
|
||||
|
||||
override suspend fun storeMessage(message: VkMessage) {
|
||||
repository.storeMessages(listOf(message))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user