diff --git a/core/model/src/main/kotlin/com/bff/wespot/model/message/response/BlockedMessage.kt b/core/model/src/main/kotlin/com/bff/wespot/model/message/response/BlockedMessage.kt new file mode 100644 index 00000000..7039e67e --- /dev/null +++ b/core/model/src/main/kotlin/com/bff/wespot/model/message/response/BlockedMessage.kt @@ -0,0 +1,19 @@ +package com.bff.wespot.model.message.response + +import com.bff.wespot.model.message.Sender +import com.bff.wespot.model.user.response.User +import java.time.LocalDateTime + +data class BlockedMessage( + val id: Int, + val senderName: String, + val senderProfile: Sender, + val receiver: User, + val content: String, + val receivedAt: LocalDateTime?, + val isRead: Boolean, + val isReported: Boolean, + val isBlocked: Boolean, +) { + constructor() : this(-1, "", Sender(), User(), "", LocalDateTime.MIN, false, false, false) +} diff --git a/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/message/response/BlockedMessageDto.kt b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/message/response/BlockedMessageDto.kt new file mode 100644 index 00000000..6dfc88d5 --- /dev/null +++ b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/message/response/BlockedMessageDto.kt @@ -0,0 +1,36 @@ +package com.bff.wespot.data.remote.model.message.response + +import com.bff.wespot.data.remote.extensions.toISOLocalDateTime +import com.bff.wespot.data.remote.model.user.response.UserDto +import com.bff.wespot.model.message.response.BlockedMessage +import kotlinx.serialization.Serializable + +@Serializable +data class BlockedMessageListDto( + val messages: List, +) + +@Serializable +data class BlockedMessageDto( + val id: Int, + val senderName: String, + val senderProfile: SenderDto, + val receiver: UserDto, + val content: String, + val receivedAt: String?, + val isRead: Boolean, + val isReported: Boolean, + val isBlocked: Boolean, +) { + fun toBlockedMessage(): BlockedMessage = BlockedMessage( + id = id, + senderName = senderName, + senderProfile = senderProfile.toSender(), + receiver = receiver.toUser(), + content = content, + receivedAt = receivedAt?.toISOLocalDateTime(), + isRead = isRead, + isReported = isReported, + isBlocked = isBlocked, + ) +}