1package db
2
3import "time"
4
5type InflightSignup struct {
6 Id int64
7 Email string
8 InviteCode string
9 Created time.Time
10}
11
12func AddInflightSignup(e Execer, signup InflightSignup) error {
13 query := `insert into signups_inflight (email, invite_code) values (?, ?)`
14 _, err := e.Exec(query, signup.Email, signup.InviteCode)
15 return err
16}
17
18func DeleteInflightSignup(e Execer, email string) error {
19 query := `delete from signups_inflight where email = ?`
20 _, err := e.Exec(query, email)
21 return err
22}
23
24func GetEmailForCode(e Execer, inviteCode string) (string, error) {
25 query := `select email from signups_inflight where invite_code = ?`
26 var email string
27 err := e.QueryRow(query, inviteCode).Scan(&email)
28 return email, err
29}