38 lines
1.0 KiB
Kotlin
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
|
|
}
|