57 lines
1.3 KiB
Go
57 lines
1.3 KiB
Go
package module
|
|
|
|
import (
|
|
"forge.cadoles.com/arcad/edge/pkg/bus"
|
|
)
|
|
|
|
const (
|
|
MessageNamespaceFrontend bus.MessageNamespace = "frontend"
|
|
MessageNamespaceServer bus.MessageNamespace = "backend"
|
|
MessageNamespaceUserConnected bus.MessageNamespace = "userConnected"
|
|
MessageNamespaceUserDisconnected bus.MessageNamespace = "userDisconnected"
|
|
)
|
|
|
|
type UserConnectedMessage struct{}
|
|
|
|
func (m *UserConnectedMessage) MessageNamespace() bus.MessageNamespace {
|
|
return MessageNamespaceUserConnected
|
|
}
|
|
|
|
func NewMessageUserConnected() *UserConnectedMessage {
|
|
return &UserConnectedMessage{}
|
|
}
|
|
|
|
type UserDisconnectedMessage struct{}
|
|
|
|
func (m *UserDisconnectedMessage) MessageNamespace() bus.MessageNamespace {
|
|
return MessageNamespaceUserDisconnected
|
|
}
|
|
|
|
func NewMessageUserDisconnected() *UserDisconnectedMessage {
|
|
return &UserDisconnectedMessage{}
|
|
}
|
|
|
|
type ServerMessage struct {
|
|
Data interface{}
|
|
}
|
|
|
|
func (m *ServerMessage) MessageNamespace() bus.MessageNamespace {
|
|
return MessageNamespaceServer
|
|
}
|
|
|
|
func NewServerMessage(data interface{}) *ServerMessage {
|
|
return &ServerMessage{data}
|
|
}
|
|
|
|
type FrontendMessage struct {
|
|
Data map[string]interface{}
|
|
}
|
|
|
|
func (m *FrontendMessage) MessageNamespace() bus.MessageNamespace {
|
|
return MessageNamespaceFrontend
|
|
}
|
|
|
|
func NewFrontendMessage(data map[string]interface{}) *FrontendMessage {
|
|
return &FrontendMessage{data}
|
|
}
|