Skip to content

Commit

Permalink
Refactor notificatin data structure
Browse files Browse the repository at this point in the history
  • Loading branch information
knadh committed Feb 9, 2020
1 parent e9685b2 commit bdd42b6
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions subimporter/importer.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,13 @@ type SubReq struct {
Lists pq.Int64Array `json:"lists"`
}

type importStatusTpl struct {
Name string
Status string
Imported int
Total int
}

var (
// ErrIsImporting is thrown when an import request is made while an
// import is already running.
Expand Down Expand Up @@ -196,19 +203,19 @@ func (im *Importer) incrementImportCount(n int) {
// sendNotif sends admin notifications for import completions.
func (im *Importer) sendNotif(status string) error {
var (
s = im.GetStats()
data = map[string]interface{}{
"Name": s.Name,
"Status": status,
"Imported": s.Imported,
"Total": s.Total,
s = im.GetStats()
out = importStatusTpl{
Name: s.Name,
Status: status,
Imported: s.Imported,
Total: s.Total,
}
subject = fmt.Sprintf("%s: %s import",
strings.Title(status),
s.Name)
)

return im.notifCB(subject, data)
return im.notifCB(subject, out)
}

// Start is a blocking function that selects on a channel queue until all
Expand Down Expand Up @@ -561,11 +568,6 @@ func ValidateFields(s SubReq) error {
if !govalidator.IsByteLength(s.Name, 1, stdInputMaxLen) {
return errors.New(`invalid or empty name "` + s.Name + `"`)
}
if s.Status != models.SubscriberStatusEnabled &&
s.Status != models.SubscriberStatusDisabled &&
s.Status != models.SubscriberStatusBlackListed {
return errors.New(`invalid or empty status "` + s.Status + `"`)
}
return nil
}

Expand Down

0 comments on commit bdd42b6

Please sign in to comment.