edge/pkg/module/lifecycle_message.go

57 lines
1.3 KiB
Go

package module
import (
"forge.cadoles.com/arcad/edge/pkg/bus"
)
const (
MessageNamespaceFrontend bus.MessageNamespace = "frontend"
MessageNamespaceBackend 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 BackendMessage struct {
Data interface{}
}
func (m *BackendMessage) MessageNamespace() bus.MessageNamespace {
return MessageNamespaceBackend
}
func NewBackendMessage(data interface{}) *BackendMessage {
return &BackendMessage{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}
}