refactor(longpoll): route parsed long poll events through dedicated handler and persist message/conversation state updates
This commit is contained in:
@@ -117,5 +117,6 @@ fun VkMessageData.asDomain(): VkMessage = VkMessage(
|
||||
pinnedAt = pinnedAt,
|
||||
isPinned = isPinned == true,
|
||||
formatData = formatData?.asDomain(),
|
||||
isSpam = false
|
||||
isSpam = false,
|
||||
isDeleted = false
|
||||
)
|
||||
|
||||
@@ -56,5 +56,6 @@ data class VkPinnedMessageData(
|
||||
isPinned = true,
|
||||
isSpam = false,
|
||||
formatData = null,
|
||||
isDeleted = false
|
||||
)
|
||||
}
|
||||
|
||||
@@ -36,6 +36,8 @@ data class VkMessage(
|
||||
val group: VkGroupDomain?,
|
||||
val actionUser: VkUser?,
|
||||
val actionGroup: VkGroupDomain?,
|
||||
|
||||
val isDeleted: Boolean
|
||||
) {
|
||||
|
||||
fun isPeerChat() = peerId > 2_000_000_000
|
||||
@@ -111,7 +113,7 @@ fun VkMessage.asEntity(): VkMessageEntity = VkMessageEntity(
|
||||
actionCmId = actionCmId,
|
||||
actionMessage = actionMessage,
|
||||
updateTime = updateTime,
|
||||
important = isImportant,
|
||||
isImportant = isImportant,
|
||||
forwardIds = forwards.orEmpty().map(VkMessage::id),
|
||||
// TODO: 05/05/2024, Danil Nikolaev: save attachments
|
||||
attachments = emptyList(),
|
||||
@@ -119,4 +121,6 @@ fun VkMessage.asEntity(): VkMessageEntity = VkMessageEntity(
|
||||
geoType = geoType,
|
||||
pinnedAt = pinnedAt,
|
||||
isPinned = isPinned,
|
||||
isDeleted = isDeleted,
|
||||
isSpam = isSpam
|
||||
)
|
||||
|
||||
@@ -21,13 +21,15 @@ data class VkMessageEntity(
|
||||
val actionCmId: Long?,
|
||||
val actionMessage: String?,
|
||||
val updateTime: Int?,
|
||||
val important: Boolean,
|
||||
val isImportant: Boolean,
|
||||
val forwardIds: List<Long>?,
|
||||
val attachments: List<String>?, // TODO: 01/05/2024, Danil Nikolaev: how to store???
|
||||
val replyMessageId: Long?,
|
||||
val geoType: String?,
|
||||
val pinnedAt: Int?,
|
||||
val isPinned: Boolean
|
||||
val isPinned: Boolean,
|
||||
val isDeleted: Boolean,
|
||||
val isSpam: Boolean
|
||||
)
|
||||
|
||||
fun VkMessageEntity.asExternalModel(): VkMessage = VkMessage(
|
||||
@@ -45,7 +47,7 @@ fun VkMessageEntity.asExternalModel(): VkMessage = VkMessage(
|
||||
actionCmId = actionCmId,
|
||||
actionMessage = actionMessage,
|
||||
updateTime = updateTime,
|
||||
isImportant = important,
|
||||
isImportant = isImportant,
|
||||
forwards = emptyList(),//forwards.orEmpty().map(VkMessageEntity::asExternalModel),
|
||||
// TODO: 05/05/2024, Danil Nikolaev: restore attachments
|
||||
attachments = attachments.orEmpty().map { VkUnknownAttachment },
|
||||
@@ -59,4 +61,5 @@ fun VkMessageEntity.asExternalModel(): VkMessage = VkMessage(
|
||||
isPinned = isPinned,
|
||||
isSpam = false,
|
||||
formatData = null,
|
||||
isDeleted = isDeleted
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user