31 lines
728 B
Kotlin
31 lines
728 B
Kotlin
package chats.domain.model
|
|
|
|
data class Message(
|
|
val id: String,
|
|
val chatId: String,
|
|
val senderId: String,
|
|
val senderName: String,
|
|
val senderAvatar: String? = null,
|
|
val content: String?,
|
|
val sequenceId: Int,
|
|
val createdAt: String,
|
|
val media: List<Media> = emptyList(),
|
|
val mediaType: MediaType = MediaType.TEXT,
|
|
val reactions: Map<String, Int> = emptyMap(),
|
|
val isRead: Boolean = false,
|
|
val replyTo: Message? = null
|
|
)
|
|
|
|
data class Media(
|
|
val id: String,
|
|
val type: String,
|
|
val url: String,
|
|
val filename: String? = null,
|
|
val size: Long? = null,
|
|
val duration: Double? = null
|
|
)
|
|
|
|
enum class MediaType {
|
|
TEXT, IMAGE, VIDEO, AUDIO, FILE, STORY_REPLY, GIF
|
|
}
|