Add login endpoint and generate a valid token

This commit is contained in:
Miguel de la Cruz 2021-09-13 12:46:43 +02:00
parent 83a2d2a31f
commit 9b6f7cbdcc
6 changed files with 89 additions and 11 deletions

View file

@ -68,6 +68,29 @@ func (us *UserStore) GetByID(id int) (*model.User, error) {
return users[0], nil
}
func (us *UserStore) GetByUsername(username string) (*model.User, error) {
query := us.Q().Select(userColumns...).
From("users").
Where(sq.Eq{"username": username})
rows, err := query.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[0], nil
}
func (us *UserStore) Create(user *model.User) (*model.User, error) {
query := us.Q().Insert("users").
Columns(userColumns[1:]...).