cml04-eventer/event.go

35 lines
814 B
Go
Raw Permalink Normal View History

2024-08-18 22:44:06 +02:00
package cml04eventer
import (
"time"
"github.com/google/uuid"
)
// Event struct
type Event struct {
2024-10-17 19:37:56 +02:00
EventID string `json:"event_id"`
EventTopic string `json:"event_topic"`
EventSender string `json:"event_sender"`
EventMeta MetaData `json:"event_meta"`
EventData interface{} `json:"event_data"`
EventTime string `json:"event_time"`
2024-08-18 22:44:06 +02:00
}
// 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),
}
}