email_get.go: clean up SQL
This commit is contained in:
parent
72a3f87c28
commit
6cfa9922de
@ -4,16 +4,34 @@ import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
var emailsRowColumns = `
|
||||
emails.email,
|
||||
emails.unsubscribeSecretHex,
|
||||
emails.lastEmailNotificationDate,
|
||||
emails.sendReplyNotifications,
|
||||
emails.sendModeratorNotifications
|
||||
`
|
||||
|
||||
func emailsRowScan(s sqlScanner, e *email) error {
|
||||
return s.Scan(
|
||||
&e.Email,
|
||||
&e.UnsubscribeSecretHex,
|
||||
&e.LastEmailNotificationDate,
|
||||
&e.SendReplyNotifications,
|
||||
&e.SendModeratorNotifications,
|
||||
)
|
||||
}
|
||||
|
||||
func emailGet(em string) (email, error) {
|
||||
statement := `
|
||||
SELECT email, unsubscribeSecretHex, lastEmailNotificationDate, sendReplyNotifications, sendModeratorNotifications
|
||||
SELECT ` + emailsRowColumns + `
|
||||
FROM emails
|
||||
WHERE email = $1;
|
||||
`
|
||||
row := db.QueryRow(statement, em)
|
||||
|
||||
e := email{}
|
||||
if err := row.Scan(&e.Email, &e.UnsubscribeSecretHex, &e.LastEmailNotificationDate, &e.SendReplyNotifications, &e.SendModeratorNotifications); err != nil {
|
||||
var e email
|
||||
if err := emailsRowScan(row, &e); err != nil {
|
||||
// TODO: is this the only error?
|
||||
return e, errorNoSuchEmail
|
||||
}
|
||||
@ -23,14 +41,14 @@ func emailGet(em string) (email, error) {
|
||||
|
||||
func emailGetByUnsubscribeSecretHex(unsubscribeSecretHex string) (email, error) {
|
||||
statement := `
|
||||
SELECT email, unsubscribeSecretHex, lastEmailNotificationDate, sendReplyNotifications, sendModeratorNotifications
|
||||
SELECT ` + emailsRowColumns + `
|
||||
FROM emails
|
||||
WHERE unsubscribeSecretHex = $1;
|
||||
`
|
||||
row := db.QueryRow(statement, unsubscribeSecretHex)
|
||||
|
||||
e := email{}
|
||||
if err := row.Scan(&e.Email, &e.UnsubscribeSecretHex, &e.LastEmailNotificationDate, &e.SendReplyNotifications, &e.SendModeratorNotifications); err != nil {
|
||||
if err := emailsRowScan(row, &e); err != nil {
|
||||
// TODO: is this the only error?
|
||||
return e, errorNoSuchUnsubscribeSecretHex
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user