From 4fc0e32dd8cc2ced58e4af4bb8bfd7fe08b15555 Mon Sep 17 00:00:00 2001 From: Tyler Auerbeck <29497147+tylerauerbeck@users.noreply.github.com> Date: Mon, 8 Jan 2024 18:28:07 -0500 Subject: [PATCH] Add commonly needed message getters (#179) What we've seen is a common usage pattern of having to build generic functions around the usage of Change and Event messages. By adding some commonly used functions to access data from the message, it facilitates a better user experience when building a downstream interface to take advantage of these fields. --------- Signed-off-by: Tyler Auerbeck Co-authored-by: Tyler Auerbeck --- events/message.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/events/message.go b/events/message.go index 15a7be00..db547aa8 100644 --- a/events/message.go +++ b/events/message.go @@ -132,6 +132,36 @@ func (m ChangeMessage) GetTraceContext(ctx context.Context) context.Context { return tp.Extract(ctx, propagation.MapCarrier(m.TraceContext)) } +// GetSubject returns the subject of the message +func (m ChangeMessage) GetSubject() gidx.PrefixedID { + return m.SubjectID +} + +// GetSubject returns the subject of the message +func (m EventMessage) GetSubject() gidx.PrefixedID { + return m.SubjectID +} + +// GetAddSubjects returns the additional subjects of the message +func (m ChangeMessage) GetAddSubjects() []gidx.PrefixedID { + return m.AdditionalSubjectIDs +} + +// GetAddSubjects returns the additional subjects of the message +func (m EventMessage) GetAddSubjects() []gidx.PrefixedID { + return m.AdditionalSubjectIDs +} + +// GetEventType returns the event type of the message +func (m ChangeMessage) GetEventType() string { + return m.EventType +} + +// GetEventType returns the event type of the message +func (m EventMessage) GetEventType() string { + return m.EventType +} + // Validate ensures the message has all the required fields. func (m ChangeMessage) Validate() error { var err error