rasrush/event.go

35 lines
794 B
Go
Raw Permalink Normal View History

2024-10-20 11:59:18 +02:00
package rasrush
import (
"time"
"github.com/google/uuid"
)
// Event struct
type Event struct {
2024-10-20 12:09:43 +02:00
EventID string `json:"event_id"`
EventTopic string `json:"event_topic"`
EventSender string `json:"event_sender"`
EventMeta MetaData `json:"event_meta"`
EventData any `json:"event_data"`
EventTime string `json:"event_time"`
2024-10-20 11:59:18 +02:00
}
// NewEvent creates a new event
2024-10-20 12:09:43 +02:00
func NewEvent(eventSender, eventTopic string, eventMeta MetaData, eventData any) *Event {
2024-10-20 11:59:18 +02:00
// 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().UTC().Format(time.RFC3339),
}
}