diff pkg/imports/queue.go @ 1657:c354631e0018

Import queue: Moved email notification stuff to separate file.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 21 Dec 2018 10:33:49 +0100
parents 6dfad1ad59c8
children 4a2fad8f57de
line wrap: on
line diff
--- a/pkg/imports/queue.go	Fri Dec 21 10:25:15 2018 +0100
+++ b/pkg/imports/queue.go	Fri Dec 21 10:33:49 2018 +0100
@@ -18,7 +18,6 @@
 	"database/sql"
 	"encoding/json"
 	"fmt"
-	"html/template"
 	"log"
 	"runtime/debug"
 	"strings"
@@ -29,7 +28,6 @@
 
 	"gemma.intevation.de/gemma/pkg/auth"
 	"gemma.intevation.de/gemma/pkg/config"
-	"gemma.intevation.de/gemma/pkg/misc"
 )
 
 type (
@@ -529,68 +527,3 @@
 		}(jc, idj)
 	}
 }
-
-const (
-	selectEmailSQL = `SELECT email_address FROM users.list_users WHERE username = $1`
-
-	importNotificationMailSubject = `import notification mail`
-)
-
-var (
-	importNotificationMailTmpl = template.Must(
-		template.New("notification").Parse(`Dear {{ .User }},
-
-a {{ .Description }} import on server {{ .Server }} triggered
-this email notification.
-
-{{ if eq .State "accepted" }}The imported data were successfully integrated into the database.{{ end -}}
-{{ if eq .State "failed" }}The import failed for some reasons.{{ end -}}
-{{ if eq .State "pending" }}The imported data could be integrated into the database
-but your final decision is needed.{{ end }}
-
-Please follow this link to have a closer look at the details:
-
-{{ .Server }}/#/?{{ if eq .State "pending" }}review{{ else }}importlog{{ end }}={{ .ID }}
-
-Best regards
-    Your service team`))
-)
-
-func sendNotificationMail(user, description, state string, id int64) {
-	config.WaitReady()
-
-	ctx := context.Background()
-	var email string
-	if err := auth.RunAs(ctx, user,
-		func(conn *sql.Conn) error {
-			return conn.QueryRowContext(ctx, selectEmailSQL, user).Scan(&email)
-		},
-	); err != nil {
-		log.Printf("error: %v\n", err)
-		return
-	}
-
-	data := struct {
-		User        string
-		Description string
-		Server      string
-		State       string
-		ID          int64
-	}{
-		User:        user,
-		Description: description,
-		Server:      config.ExternalURL(),
-		State:       state,
-		ID:          id,
-	}
-
-	var body strings.Builder
-	if err := importNotificationMailTmpl.Execute(&body, &data); err != nil {
-		log.Printf("error: %v\n", err)
-		return
-	}
-
-	if err := misc.SendMail(email, importNotificationMailSubject, body.String()); err != nil {
-		log.Printf("error: %v\n", err)
-	}
-}