Uniq results
This commit is contained in:
@@ -56,11 +56,23 @@ func cleanUpUsernameFromMessage(message string, b *slack.AuthTestResponse) strin
|
|||||||
return cleaned
|
return cleaned
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func uniqueStringSlice(s []string) []string {
|
||||||
|
keys := make(map[string]bool)
|
||||||
|
list := []string{}
|
||||||
|
for _, entry := range s {
|
||||||
|
if _, value := keys[entry]; !value {
|
||||||
|
keys[entry] = true
|
||||||
|
list = append(list, entry)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list
|
||||||
|
}
|
||||||
|
|
||||||
func generateAttachmentsFromJobResponse(j *agent.JobResult) (attachments []slack.Attachment) {
|
func generateAttachmentsFromJobResponse(j *agent.JobResult) (attachments []slack.Attachment) {
|
||||||
for _, state := range j.State {
|
for _, state := range j.State {
|
||||||
// coming from the search action
|
// coming from the search action
|
||||||
if urls, exists := state.Metadata[actions.MetadataUrls]; exists {
|
if urls, exists := state.Metadata[actions.MetadataUrls]; exists {
|
||||||
for _, url := range urls.([]string) {
|
for _, url := range uniqueStringSlice(urls.([]string)) {
|
||||||
attachment := slack.Attachment{
|
attachment := slack.Attachment{
|
||||||
Title: "URL",
|
Title: "URL",
|
||||||
TitleLink: url,
|
TitleLink: url,
|
||||||
@@ -72,7 +84,7 @@ func generateAttachmentsFromJobResponse(j *agent.JobResult) (attachments []slack
|
|||||||
|
|
||||||
// coming from the gen image actions
|
// coming from the gen image actions
|
||||||
if imagesUrls, exists := state.Metadata[actions.MetadataImages]; exists {
|
if imagesUrls, exists := state.Metadata[actions.MetadataImages]; exists {
|
||||||
for _, url := range imagesUrls.([]string) {
|
for _, url := range uniqueStringSlice(imagesUrls.([]string)) {
|
||||||
attachment := slack.Attachment{
|
attachment := slack.Attachment{
|
||||||
Title: "Image",
|
Title: "Image",
|
||||||
TitleLink: url,
|
TitleLink: url,
|
||||||
|
|||||||
Reference in New Issue
Block a user