forked from tildetown/town
auth code db methods
parent
92faddd079
commit
5c2142f6e7
|
@ -153,6 +153,7 @@ func UserForEmail(db *sql.DB, address string) (*TownUser, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
defer stmt.Close()
|
||||||
row := stmt.QueryRow(address)
|
row := stmt.QueryRow(address)
|
||||||
u := &TownUser{}
|
u := &TownUser{}
|
||||||
if err = row.Scan(&u.ID, &u.Username); err != nil {
|
if err = row.Scan(&u.ID, &u.Username); err != nil {
|
||||||
|
@ -183,8 +184,41 @@ type AuthCode struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *AuthCode) Insert(db *sql.DB) error {
|
func (c *AuthCode) Insert(db *sql.DB) error {
|
||||||
// TODO
|
stmt, err := db.Prepare(`
|
||||||
|
INSERT INTO auth_codes (code, email)
|
||||||
|
VALUES ?, ?`)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
defer stmt.Close()
|
||||||
|
|
||||||
|
result, err := stmt.Exec(c.Code, c.Email)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
liid, err := result.LastInsertId()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
c.ID = liid
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *AuthCode) Hydrate(db *sql.DB) error {
|
||||||
|
stmt, err := db.Prepare(`
|
||||||
|
SELECT id, email, used, created
|
||||||
|
FROM auth_codes
|
||||||
|
WHERE code = ?`)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer stmt.Close()
|
||||||
|
|
||||||
|
return stmt.QueryRow(c.Code).Scan(&c.ID, &c.Email, &c.Used, &c.Created)
|
||||||
|
}
|
||||||
|
|
||||||
// TODO other auth code as needed
|
// TODO other auth code as needed
|
||||||
|
|
Loading…
Reference in New Issue