cml04-eventer/event.go

35 lines
796 B
Go

package cml04eventer
import (
"time"
"github.com/google/uuid"
)
// Event struct
type Event struct {
EventID string `json:"event_id"`
EventTopic string `json:"event_topic"`
EventSender string `json:"event_sender"`
EventMeta MetaData `json:"event_meta"`
EventData []byte `json:"event_data"`
EventTime string `json:"event_time"`
}
// NewEvent creates a new event
func NewEvent(eventSender, eventTopic string, eventMeta MetaData, eventData []byte) *Event {
// check if eventMeta is nil
if eventMeta == nil {
eventMeta = NewMetaData()
}
// return event
return &Event{
EventID: uuid.NewString(),
EventTopic: eventTopic,
EventSender: eventSender,
EventMeta: eventMeta,
EventData: eventData,
EventTime: time.Now().Format(time.RFC3339),
}
}