Files
sodalive-backend-spring-boot/src/main/kotlin/kr/co/vividnext/sodalive/message/Message.kt
2023-08-02 14:04:31 +09:00

38 lines
1.0 KiB
Kotlin

package kr.co.vividnext.sodalive.message
import kr.co.vividnext.sodalive.common.BaseEntity
import kr.co.vividnext.sodalive.member.Member
import javax.persistence.Column
import javax.persistence.Entity
import javax.persistence.EnumType
import javax.persistence.Enumerated
import javax.persistence.FetchType
import javax.persistence.JoinColumn
import javax.persistence.ManyToOne
@Entity
data class Message(
@Column(columnDefinition = "TEXT")
val textMessage: String? = null,
var voiceMessage: String? = null,
@Enumerated(EnumType.STRING)
val messageType: MessageType = MessageType.TEXT,
var isRecipientKeep: Boolean = false,
var isSenderDelete: Boolean = false,
var isRecipientDelete: Boolean = false
) : BaseEntity() {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "sender_id", nullable = false)
var sender: Member? = null
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "recipient_id", nullable = false)
var recipient: Member? = null
}
enum class MessageType {
TEXT, VOICE
}