diff options
author | sanine-a <sanine.not@pm.me> | 2023-05-02 14:00:28 -0500 |
---|---|---|
committer | sanine-a <sanine.not@pm.me> | 2023-05-02 14:00:28 -0500 |
commit | 9fe48ae66c2cc8d6b46e44ae35e9447ab51d9dd6 (patch) | |
tree | 94aff558aedaf3c1f7452983887b6f3479c9cef7 /db | |
parent | 4343925a09c1fd34da4b352ae9fa2510397ccdcd (diff) |
add user.go
Diffstat (limited to 'db')
-rw-r--r-- | db/db.go | 2 | ||||
-rw-r--r-- | db/user.go | 17 |
2 files changed, 19 insertions, 0 deletions
@@ -41,8 +41,10 @@ type Model interface { GetSchemaVersion() (int, error) CreateUser(username, password string) (User, error) + DeleteUser(user User) error SetPassword(user User, password string) error AuthenticateUser(username, password string) (User, error) + GetByUsername(username string) (User, error) GetById(id string) (User, error) AllUsers() ([]User, error) @@ -78,6 +78,13 @@ func (p *Phlox) CreateUser(username, password string) (User, error) { +func (p *Phlox) DeleteUser(user User) error { + _, err := p.db.Exec("delete from users where userid=?;", user.Id) + return err +} + + + func (p *Phlox) SetPassword(user User, password string) error { hash, err := hashPassword(password, user.Salt) if err != nil { @@ -140,6 +147,16 @@ func (p *Phlox) AuthenticateUser(username, password string) (bool, User, error) } +func (p *Phlox) GetByUsername(username string) (User, error) { + row := p.db.QueryRow("select * from users where username = ?;", username) + user, err := extractUser(row) + if err != nil { + return User{}, err + } + return user, nil +} + + func (p *Phlox) GetById(id int) (User, error) { row := p.db.QueryRow("select * from users where userid = ?;", id) user, err := extractUser(row) |