underbbs/models/msg.go

46 lines
703 B
Go

package models
import (
"encoding/json"
"time"
)
type Message struct {
Uri string
Author Author
Protocol string
Content string
Attachments []Attachment
ReplyTo *Message
Replies []Message
Mentions []Author
Created time.Time
Aux *interface{}
}
type Author struct {
Id string
Name string
ProfileData interface{}
Messages []Message
ProfileUri string
ProfilePic string
}
type Attachment struct {
Src string
Data []uint8
Desc string
}
type SocketData interface {
ToDatagram() []byte
}
func (self Message) ToDatagram() []byte {
data, err := json.Marshal(self)
if err != nil {
panic(err.Error())
}
return data
}