From 442b4012e95e093f5e6db64f082340b2683fc537 Mon Sep 17 00:00:00 2001
From: Cornel Rautenbach <corneliusr>
Date: Thu, 20 Jan 2022 13:32:48 +0200
Subject: [PATCH] Make messageGroupID optional

---
 sqs/sqs.go | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/sqs/sqs.go b/sqs/sqs.go
index 2cb971e..1260de1 100644
--- a/sqs/sqs.go
+++ b/sqs/sqs.go
@@ -49,7 +49,12 @@ func NewSQSMessenger(awsRegion, queueUrl string) (*Messenger, error) {
 // SendSQSMessage sends a message to the queue associated with the messenger
 // headers - string message attributes of the SQS message (see AWS SQS documentation)
 // body - body of the SQS message (see AWS SQS documentation)
-func (m *Messenger) SendSQSMessage(headers map[string]string, body string, currentRequestID *string, sqsType string, headerKey string, messageGroupID string) (string, error) {
+func (m *Messenger) SendSQSMessage(headers map[string]string, body string, currentRequestID *string, sqsType string, headerKey string, messageGroupID ...string) (string, error) {
+	msgGrpID := ""
+	if len(messageGroupID) > 0 && messageGroupID[0] != "" {
+		msgGrpID = messageGroupID[0]
+	}
+
 	msgAttrs := make(map[string]*sqs.MessageAttributeValue)
 
 	for key, val := range headers {
@@ -74,7 +79,7 @@ func (m *Messenger) SendSQSMessage(headers map[string]string, body string, curre
 
 	var res *sqs.SendMessageOutput
 	var err error
-	if messageGroupID == "" {
+	if msgGrpID == "" {
 		res, err = m.service.SendMessage(&sqs.SendMessageInput{
 			MessageAttributes: msgAttrs,
 			MessageBody:       aws.String(body),
@@ -85,7 +90,7 @@ func (m *Messenger) SendSQSMessage(headers map[string]string, body string, curre
 			MessageAttributes: msgAttrs,
 			MessageBody:       aws.String(body),
 			QueueUrl:          &m.queueURL,
-			MessageGroupId:    &messageGroupID,
+			MessageGroupId:    &msgGrpID,
 		})
 	}
 
-- 
GitLab