37 lines
1.2 KiB
Kotlin
37 lines
1.2 KiB
Kotlin
package chats.data.remote.dto
|
|
|
|
import com.google.gson.annotations.SerializedName
|
|
|
|
data class UserBasicDto(
|
|
@SerializedName("id") val id: String,
|
|
@SerializedName("userName") val userName: String,
|
|
@SerializedName("displayName") val displayName: String,
|
|
@SerializedName("avatarUrl") val avatarUrl: String?
|
|
)
|
|
|
|
data class MessageDto(
|
|
@SerializedName("id") val id: String,
|
|
@SerializedName("chatId") val chatId: String,
|
|
@SerializedName("senderId") val senderId: String,
|
|
@SerializedName("content") val content: String?,
|
|
@SerializedName("type") val type: String,
|
|
@SerializedName("sequenceId") val sequenceId: Int,
|
|
@SerializedName("createdAt") val createdAt: String,
|
|
@SerializedName("sender") val sender: UserBasicDto,
|
|
@SerializedName("media") val media: List<MediaItemDto> = emptyList()
|
|
)
|
|
|
|
data class MediaItemDto(
|
|
@SerializedName("id") val id: String,
|
|
@SerializedName("type") val type: String,
|
|
@SerializedName("url") val url: String
|
|
)
|
|
|
|
data class ChatDto(
|
|
@SerializedName("id") val id: String,
|
|
@SerializedName("type") val type: String,
|
|
@SerializedName("name") val name: String?,
|
|
@SerializedName("unreadCount") val unreadCount: Int,
|
|
@SerializedName("messages") val messages: List<MessageDto>
|
|
)
|