dispatch/server/json.go

162 lines
3.5 KiB
Go
Raw Normal View History

package server
2015-01-17 01:37:21 +00:00
import (
"encoding/json"
2015-12-11 03:35:48 +00:00
"github.com/khlieng/dispatch/storage"
2015-01-17 01:37:21 +00:00
)
type WSRequest struct {
2015-06-16 22:46:58 +00:00
Type string `json:"type"`
Data json.RawMessage `json:"data"`
2015-01-17 01:37:21 +00:00
}
type WSResponse struct {
2015-06-16 22:46:58 +00:00
Type string `json:"type"`
Data interface{} `json:"data"`
2015-01-17 01:37:21 +00:00
}
type Connect struct {
Name string `json:"name"`
2015-01-17 01:37:21 +00:00
Server string `json:"server"`
TLS bool `json:"tls"`
Password string `json:"password"`
2015-01-17 01:37:21 +00:00
Nick string `json:"nick"`
Username string `json:"username"`
Realname string `json:"realname"`
2015-01-17 01:37:21 +00:00
}
type Nick struct {
Server string `json:"server"`
Old string `json:"old"`
New string `json:"new"`
}
2015-01-17 01:37:21 +00:00
type Join struct {
Server string `json:"server"`
User string `json:"user"`
Channels []string `json:"channels"`
}
type Part struct {
Server string `json:"server"`
User string `json:"user"`
Channel string `json:"channel,omitempty"`
Channels []string `json:"channels,omitempty"`
Reason string `json:"reason,omitempty"`
}
type Mode struct {
Server string `json:"server"`
Channel string `json:"channel"`
User string `json:"user"`
Add string `json:"add"`
Remove string `json:"remove"`
}
type Quit struct {
Server string `json:"server"`
User string `json:"user"`
Reason string `json:"reason,omitempty"`
}
type Message struct {
ID string `json:"id,omitempty"`
Server string `json:"server,omitempty"`
From string `json:"from,omitempty"`
To string `json:"to,omitempty"`
Content string `json:"content"`
Type string `json:"type,omitempty"`
2015-01-17 01:37:21 +00:00
}
type Messages struct {
Server string `json:"server"`
To string `json:"to"`
Messages []storage.Message `json:"messages"`
2017-05-02 21:21:25 +00:00
Prepend bool `json:"prepend,omitempty"`
Next string `json:"next,omitempty"`
}
2015-01-17 01:37:21 +00:00
type Topic struct {
Server string `json:"server"`
Channel string `json:"channel"`
Topic string `json:"topic,omitempty"`
Nick string `json:"nick,omitempty"`
2015-01-17 01:37:21 +00:00
}
type Userlist struct {
Server string `json:"server"`
Channel string `json:"channel"`
Users []string `json:"users"`
}
type MOTD struct {
Server string `json:"server"`
Title string `json:"title"`
Content []string `json:"content"`
2015-01-17 01:37:21 +00:00
}
type Invite struct {
Server string `json:"server"`
Channel string `json:"channel"`
User string `json:"user"`
}
type Kick struct {
Server string `json:"server"`
Channel string `json:"channel"`
User string `json:"user"`
}
type Whois struct {
Server string `json:"server"`
User string `json:"user"`
}
type WhoisReply struct {
Nick string `json:"nick"`
Username string `json:"username"`
Host string `json:"host"`
Realname string `json:"realname"`
Server string `json:"server"`
Channels []string `json:"channels"`
}
2015-02-21 12:06:05 +00:00
type Away struct {
Server string `json:"server"`
Message string `json:"message"`
}
2016-01-27 19:48:47 +00:00
type Raw struct {
Server string `json:"server"`
Message string `json:"message"`
}
type SearchRequest struct {
Server string `json:"server"`
Channel string `json:"channel"`
Phrase string `json:"phrase"`
}
type SearchResult struct {
Server string `json:"server"`
Channel string `json:"channel"`
Results []storage.Message `json:"results"`
}
2016-01-11 20:04:57 +00:00
type ClientCert struct {
Cert []byte `json:"cert"`
Key []byte `json:"key"`
}
2017-05-02 21:21:25 +00:00
type FetchMessages struct {
Server string `json:"server"`
Channel string `json:"channel"`
Next string `json:"next"`
}
type Error struct {
Server string `json:"server"`
Message string `json:"message"`
}