From e6aeb0158a28bdcf17ef67d0c44c1b085ae2798f Mon Sep 17 00:00:00 2001 From: abnercoimbre Date: Fri, 18 Oct 2024 15:10:16 -0700 Subject: [PATCH] De-duplicate addresses before returning email subscribers --- main.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 0794636..d4b8025 100644 --- a/main.go +++ b/main.go @@ -115,15 +115,21 @@ func retrieveSubscribers(cfg *Config) ([]string, error) { return nil, errors.New("response format error: 'emails' field not found") } - /* Convert emails to []string */ + /* De-duplicate emails using a map */ /* *** */ - var subscribers []string + emailMap := make(map[string]bool) for _, email := range emails { if emailStr, ok := email.(string); ok { - subscribers = append(subscribers, emailStr) + emailMap[emailStr] = true } } + /* Convert the map keys back to a slice */ + var subscribers []string + for email := range emailMap { + subscribers = append(subscribers, email) + } + return subscribers, nil }