From 5c26150d98967038ba74a4646eb25be306a24174 Mon Sep 17 00:00:00 2001 From: derek mcquay Date: Fri, 3 Jun 2016 12:04:56 -0700 Subject: [PATCH] added db function to see if user exists --- db.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/db.go b/db.go index 197888b..df72de0 100644 --- a/db.go +++ b/db.go @@ -312,3 +312,29 @@ func (db *DB) addUser(email string) (string, error) { ) return tok, err } + +func (db *DB) hasUser(email string) error { + result, err := db.conn.Query( + "SELECT EXISTS(SELECT 1 FROM users WHERE email = ? LIMIT 1)", + email, + ) + if err != nil { + return verrors.HTTP{ + Message: fmt.Sprintf("could not find requested user's email: %q: %v", email, err), + Code: http.StatusInternalServerError, + } + } + var exists string + for result.Next() { + if err := result.Scan(&exists); err != nil { + log.Fatal(err) + } + } + if exists == "0" { + return verrors.HTTP{ + Message: fmt.Sprintf("could not find requested user's email: %q: %v", email, err), + Code: http.StatusInternalServerError, + } + } + return nil +}