Files
Syndie_Core/data/message.go

40 lines
662 B
Go

package data
import (
"bytes"
"encoding/gob"
"github.com/kpetku/libsyndie/syndieutil"
)
type Message struct {
ID int
Subject string
Body string
TargetChannel string
Avatar []byte
Author string
PostURI syndieutil.URI
Raw syndieutil.Message
}
func (m *Message) Encode() ([]byte, error) {
buf := new(bytes.Buffer)
enc := gob.NewEncoder(buf)
err := enc.Encode(m)
if err != nil {
return nil, err
}
return buf.Bytes(), nil
}
func (m *Message) Decode(data []byte) error {
buf := bytes.NewBuffer(data)
dec := gob.NewDecoder(buf)
err := dec.Decode(&m)
if err != nil {
return err
}
return nil
}