2024-03-30 09:10:36 +00:00
|
|
|
package models
|
|
|
|
|
|
|
|
import "gorm.io/datatypes"
|
|
|
|
|
|
|
|
type MessageType = uint8
|
|
|
|
|
|
|
|
const (
|
|
|
|
MessageTypeText = MessageType(iota)
|
|
|
|
MessageTypeAudio
|
|
|
|
)
|
|
|
|
|
|
|
|
type Message struct {
|
|
|
|
BaseModel
|
|
|
|
|
2024-03-30 10:21:17 +00:00
|
|
|
Content string `json:"content"`
|
|
|
|
Metadata datatypes.JSONMap `json:"metadata"`
|
|
|
|
Type MessageType `json:"type"`
|
|
|
|
Attachments []Attachment `json:"attachments"`
|
2024-03-30 10:40:21 +00:00
|
|
|
Channel Channel `json:"channel"`
|
2024-03-30 14:33:20 +00:00
|
|
|
Sender ChannelMember `json:"sender"`
|
2024-03-31 13:19:51 +00:00
|
|
|
ReplyID *uint `json:"reply_id"`
|
|
|
|
ReplyTo *Message `json:"reply_to" gorm:"foreignKey:ReplyID"`
|
2024-03-30 10:21:17 +00:00
|
|
|
ChannelID uint `json:"channel_id"`
|
|
|
|
SenderID uint `json:"sender_id"`
|
2024-03-30 09:10:36 +00:00
|
|
|
}
|