Skip to content

Commit eb6d73c

Browse files
committed
add tag parameter to send to sendgrid
1 parent 3312e52 commit eb6d73c

File tree

6 files changed

+16
-7
lines changed

6 files changed

+16
-7
lines changed

.openapi-generator/FILES

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ internal/server/api_notification.go
88
internal/server/api_notification_service.go
99
internal/server/api_sms.go
1010
internal/server/api_sms_service.go
11+
internal/server/error.go
1112
internal/server/helpers.go
1213
internal/server/impl.go
1314
internal/server/model_email_recipient.go
@@ -16,8 +17,8 @@ internal/server/model_error.go
1617
internal/server/model_mail_message.go
1718
internal/server/model_send_bulk_mail_request.go
1819
internal/server/model_send_bulk_mail_response.go
19-
internal/server/model_send_bulk_mail_response_failed.go
20-
internal/server/model_send_bulk_mail_response_successful.go
20+
internal/server/model_send_bulk_mail_response_failed_inner.go
21+
internal/server/model_send_bulk_mail_response_successful_inner.go
2122
internal/server/model_send_mail_request.go
2223
internal/server/model_send_mail_response.go
2324
internal/server/model_send_slack_message_request.go

.openapi-generator/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5.0.0-beta3
1+
6.6.0

api/notification-service.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,10 @@ components:
264264
$ref: '#/components/schemas/MailMessage'
265265
headers:
266266
$ref: '#/components/schemas/MailHeaders'
267+
tags:
268+
type: array
269+
items:
270+
type: string
267271

268272
SendBulkMailRequest:
269273
type: object

internal/mail/mail.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func SendBulkMail(toList []server.EmailRecipient, from server.EmailSender, cc []
2929
// Create goroutines for each send
3030
for _, to := range toList {
3131
go func(to server.EmailRecipient) {
32-
response, err := SendIndividualMail([]server.EmailRecipient{to}, from, cc, bcc, headers, message, client)
32+
response, err := SendIndividualMail([]server.EmailRecipient{to}, from, cc, bcc, headers, message, client, []string{})
3333
responseChannel <- BulkSendAttempt{to.Address, response, err}
3434
wg.Done()
3535
}(to)
@@ -42,7 +42,7 @@ func SendBulkMail(toList []server.EmailRecipient, from server.EmailSender, cc []
4242
}
4343

4444
// SendIndividualMail sends an email message
45-
func SendIndividualMail(to []server.EmailRecipient, from server.EmailSender, cc []server.EmailRecipient, bcc []server.EmailRecipient, headers map[string]string, message server.MailMessage, client Client) (*rest.Response, error) {
45+
func SendIndividualMail(to []server.EmailRecipient, from server.EmailSender, cc []server.EmailRecipient, bcc []server.EmailRecipient, headers map[string]string, message server.MailMessage, client Client, tags []string) (*rest.Response, error) {
4646
sendMessage := sendgridMail.NewV3Mail()
4747

4848
sendMessage.SetFrom(sendgridMail.NewEmail(from.Name, from.Address))
@@ -78,6 +78,10 @@ func SendIndividualMail(to []server.EmailRecipient, from server.EmailSender, cc
7878
}
7979
}
8080

81+
if len(tags) > 0 {
82+
sendMessage.AddCategories(tags...)
83+
}
84+
8185
return client.Send(sendMessage)
8286
}
8387

internal/mail/mail_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func TestSendMail(t *testing.T) {
3939
return m.Headers["X-Test-Header"] == headers["X-Test-Header"]
4040
})
4141
client.On("Send", headersMatcher).Return(nil, nil)
42-
mail.SendIndividualMail(toList, from, cc, bcc, headers, message, &client)
42+
mail.SendIndividualMail(toList, from, cc, bcc, headers, message, &client, []string{})
4343
client.AssertNumberOfCalls(t, "Send", 1)
4444
}
4545

internal/service/api_email_service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ func (s *EmailApiService) SendEmail(ctx context.Context, sendMailRequest server.
4343

4444
client := sendgrid.NewSendClient(s.config.SendgridAPIKey)
4545

46-
response, err := mail.SendIndividualMail(sendMailRequest.ToAddresses, sendMailRequest.FromAddress, sendMailRequest.CcAddresses, sendMailRequest.BccAddresses, sendMailRequest.Headers, sendMailRequest.Message, client)
46+
response, err := mail.SendIndividualMail(sendMailRequest.ToAddresses, sendMailRequest.FromAddress, sendMailRequest.CcAddresses, sendMailRequest.BccAddresses, sendMailRequest.Headers, sendMailRequest.Message, client, sendMailRequest.Tags)
4747

4848
if err != nil {
4949
zap.S().Errorf("Error sending mail: %v", response)

0 commit comments

Comments
 (0)