package rasrush 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 interface{} `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().UTC().Format(time.RFC3339), } }