pinned message in messages history draft
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
package dev.meloda.fast.model.api.data
|
||||
|
||||
import dev.meloda.fast.model.api.domain.VkMessage
|
||||
import com.squareup.moshi.Json
|
||||
import com.squareup.moshi.JsonClass
|
||||
import dev.meloda.fast.model.api.domain.VkMessage
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class VkMessageData(
|
||||
@@ -23,7 +23,9 @@ data class VkMessageData(
|
||||
@Json(name = "action") val action: Action?,
|
||||
@Json(name = "ttl") val ttl: Int?,
|
||||
@Json(name = "reply_message") val replyMessage: VkMessageData?,
|
||||
@Json(name = "update_time") val updateTime: Int?
|
||||
@Json(name = "update_time") val updateTime: Int?,
|
||||
@Json(name = "is_pinned") val isPinned: Boolean?,
|
||||
@Json(name = "pinned_at") val pinnedAt: Int?
|
||||
) {
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
@@ -72,7 +74,7 @@ fun VkMessageData.asDomain(): VkMessage = VkMessage(
|
||||
actionConversationMessageId = action?.conversationMessageId,
|
||||
actionMessage = action?.message,
|
||||
geoType = geo?.type,
|
||||
important = important,
|
||||
isImportant = important,
|
||||
updateTime = updateTime,
|
||||
forwards = fwdMessages.orEmpty().map(VkMessageData::asDomain),
|
||||
attachments = attachments.map(VkAttachmentItemData::toDomain),
|
||||
@@ -81,4 +83,6 @@ fun VkMessageData.asDomain(): VkMessage = VkMessage(
|
||||
group = null,
|
||||
actionUser = null,
|
||||
actionGroup = null,
|
||||
pinnedAt = pinnedAt,
|
||||
isPinned = isPinned == true
|
||||
)
|
||||
|
||||
@@ -41,7 +41,7 @@ data class VkPinnedMessageData(
|
||||
actionConversationMessageId = action?.conversationMessageId,
|
||||
actionMessage = action?.message,
|
||||
geoType = geo?.type,
|
||||
important = important,
|
||||
isImportant = important,
|
||||
updateTime = updateTime,
|
||||
forwards = forwards.orEmpty().map(VkMessageData::asDomain),
|
||||
|
||||
@@ -52,6 +52,7 @@ data class VkPinnedMessageData(
|
||||
group = null,
|
||||
actionUser = null,
|
||||
actionGroup = null,
|
||||
pinnedAt = null,
|
||||
isPinned = true,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -18,8 +18,9 @@ data class VkMessage(
|
||||
val actionMessage: String?,
|
||||
|
||||
val updateTime: Int?,
|
||||
|
||||
val important: Boolean = false,
|
||||
val pinnedAt: Int?,
|
||||
val isPinned: Boolean,
|
||||
val isImportant: Boolean = false,
|
||||
|
||||
val forwards: List<VkMessage>?,
|
||||
val attachments: List<VkAttachment>?,
|
||||
@@ -91,10 +92,12 @@ fun VkMessage.asEntity(): VkMessageEntity = VkMessageEntity(
|
||||
actionConversationMessageId = actionConversationMessageId,
|
||||
actionMessage = actionMessage,
|
||||
updateTime = updateTime,
|
||||
important = important,
|
||||
important = isImportant,
|
||||
forwardIds = forwards.orEmpty().map(VkMessage::id),
|
||||
// TODO: 05/05/2024, Danil Nikolaev: save attachments
|
||||
attachments = emptyList(),
|
||||
replyMessageId = replyMessage?.id,
|
||||
geoType = geoType
|
||||
geoType = geoType,
|
||||
pinnedAt = pinnedAt,
|
||||
isPinned = isPinned,
|
||||
)
|
||||
|
||||
@@ -25,7 +25,9 @@ data class VkMessageEntity(
|
||||
val forwardIds: List<Int>?,
|
||||
val attachments: List<String>?, // TODO: 01/05/2024, Danil Nikolaev: how to store???
|
||||
val replyMessageId: Int?,
|
||||
val geoType: String?
|
||||
val geoType: String?,
|
||||
val pinnedAt: Int?,
|
||||
val isPinned: Boolean
|
||||
)
|
||||
|
||||
fun VkMessageEntity.asExternalModel(): VkMessage = VkMessage(
|
||||
@@ -43,7 +45,7 @@ fun VkMessageEntity.asExternalModel(): VkMessage = VkMessage(
|
||||
actionConversationMessageId = actionConversationMessageId,
|
||||
actionMessage = actionMessage,
|
||||
updateTime = updateTime,
|
||||
important = important,
|
||||
isImportant = important,
|
||||
forwards = emptyList(),//forwards.orEmpty().map(VkMessageEntity::asExternalModel),
|
||||
// TODO: 05/05/2024, Danil Nikolaev: restore attachments
|
||||
attachments = attachments.orEmpty().map { VkUnknownAttachment },
|
||||
@@ -53,4 +55,6 @@ fun VkMessageEntity.asExternalModel(): VkMessage = VkMessage(
|
||||
group = null,
|
||||
actionUser = null,
|
||||
actionGroup = null,
|
||||
pinnedAt = pinnedAt,
|
||||
isPinned = isPinned
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user