echo-go/types.go

56 lines
1.5 KiB
Go

package echo_go
import (
"fmt"
"net"
)
type MessageType string
const (
ReqServerInfo MessageType = "serverInfoRequest"
ReqClientSecret = "clientSecret"
ReqConnection = "connectionRequest"
ReqDisconnect = "disconnect"
ReqInfo = "requestInfo"
ReqUserMessage = "userMessage"
ReqChangeChannel = "changeChannel"
ReqHistory = "historyRequest"
ReqLeaveChannel = "leaveChannel"
ResServerInfo = "serverInfo"
ResClientSecret = "gotSecret"
ResConnectionAccepted = "CRAccepted"
ResConnectionDenied = "CRDenied"
ResOutboundMessage = "outboundMessage"
ResConnectionTerminated = "connectionTerminated"
ResChannelUpdate = "channelUpdate"
ResCommandData = "commandData"
ResChannelHistory = "channelHistory"
ResErrorOccurred = "errorOccured"
ResAdditionalHistory = "additionalHistory"
)
type Client struct {
Con net.Conn
UserId string
SessionKey string
Username string
}
type RawMessage struct {
UserId string `json:"userid"`
MessageType MessageType `json:"messagetype"`
SubType *string `json:"subtype"`
Data *string `json:"data"`
Metadata string `json:"metadata"`
}
func (m *RawMessage) String() string {
return fmt.Sprintf("\n"+
" UserId: %v\n"+
" Type: %v - %v\n"+
" Data: %v\n"+
" Metadata: %v", m.UserId, m.MessageType, *m.SubType, *m.Data, m.Metadata)
}