diff options
| author | Pedro Lopes <pedrolopes@google.com> | 2020-07-29 11:09:57 -0500 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-07-31 17:18:29 +0200 |
| commit | 53dd7c4e25c03e97f0aacee31849a009ee59cfe1 (patch) | |
| tree | 2313310b641bcdbae605c5ac7957c62202562e7a | |
| parent | 242b0eb219dbb269deacdae76de2f8b0b788ac40 (diff) | |
dashboard/app: Receive Recipients from API
Changed `api.go` to receive Recipients struct and merge it with
Maintainers.
| -rw-r--r-- | dashboard/app/api.go | 25 | ||||
| -rw-r--r-- | dashboard/app/jobs.go | 5 |
2 files changed, 23 insertions, 7 deletions
diff --git a/dashboard/app/api.go b/dashboard/app/api.go index 41d33ebe2..f30c87174 100644 --- a/dashboard/app/api.go +++ b/dashboard/app/api.go @@ -788,12 +788,14 @@ func saveCrash(c context.Context, ns string, req *dashapi.Crash, bugKey *db.Key, prio += 1e3 } crash := &Crash{ - Manager: build.Manager, - BuildID: req.BuildID, - Time: timeNow(c), - Maintainers: req.Maintainers, - ReproOpts: req.ReproOpts, - ReportLen: prio, + Manager: build.Manager, + BuildID: req.BuildID, + Time: timeNow(c), + Maintainers: email.MergeEmailLists(req.Maintainers, + GetEmails(req.Recipients, dashapi.To), + GetEmails(req.Recipients, dashapi.Cc)), + ReproOpts: req.ReproOpts, + ReportLen: prio, } var err error if crash.Log, err = putText(c, ns, textCrashLog, req.Log, false); err != nil { @@ -1232,3 +1234,14 @@ func limitLength(s string, max int) string { max-- } } + +func GetEmails(r dashapi.Recipients, filter dashapi.RecipientType) []string { + emails := []string{} + for _, user := range r { + if user.Type == filter { + emails = append(emails, user.Address.Address) + } + } + sort.Strings(emails) + return emails +} diff --git a/dashboard/app/jobs.go b/dashboard/app/jobs.go index ec9478a65..e46684b21 100644 --- a/dashboard/app/jobs.go +++ b/dashboard/app/jobs.go @@ -489,12 +489,15 @@ func doneJob(c context.Context, req *dashapi.JobDoneReq) error { return err } for _, com := range req.Commits { + cc := email.MergeEmailLists(com.CC, + GetEmails(com.Recipients, dashapi.To), + GetEmails(com.Recipients, dashapi.Cc)) job.Commits = append(job.Commits, Commit{ Hash: com.Hash, Title: com.Title, Author: com.Author, AuthorName: com.AuthorName, - CC: strings.Join(sanitizeCC(c, com.CC), "|"), + CC: strings.Join(sanitizeCC(c, cc), "|"), Date: com.Date, }) } |
