Add some user related commands

This commit is contained in:
Miguel de la Cruz 2021-09-13 12:16:25 +02:00
parent d5a297cb86
commit 83a2d2a31f
8 changed files with 223 additions and 11 deletions

View file

@ -85,3 +85,32 @@ func (us *UserStore) Create(user *model.User) (*model.User, error) {
return us.GetByID(int(id))
}
// ToDo: add pagination and filtering
func (us *UserStore) List() ([]*model.User, error) {
rows, err := us.Q().Select(userColumns...).
From("users").
Query()
if err != nil {
return nil, err
}
defer rows.Close()
users, err := us.usersFromRows(rows)
if err != nil {
return nil, err
}
if len(users) == 0 {
return nil, sql.ErrNoRows
}
return users, nil
}
func (us *UserStore) DeleteByUsername(username string) error {
_, err := us.Q().Delete("users").
Where(sq.Eq{"username": username}).
Exec()
return err
}