aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro Lopes <pedrolopes@google.com>2020-07-29 11:09:57 -0500
committerDmitry Vyukov <dvyukov@google.com>2020-07-31 17:18:29 +0200
commit53dd7c4e25c03e97f0aacee31849a009ee59cfe1 (patch)
tree2313310b641bcdbae605c5ac7957c62202562e7a
parent242b0eb219dbb269deacdae76de2f8b0b788ac40 (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.go25
-rw-r--r--dashboard/app/jobs.go5
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,
})
}