Add Hash to user table
This commit is contained in:
parent
e873965e77
commit
34c965d8ee
@ -111,6 +111,8 @@ func (s *Show) GetDetails(db *sqlx.DB, log *logrus.Entry) error {
|
||||
// Unexpected error
|
||||
return err
|
||||
}
|
||||
|
||||
// so we got ErrNotFound so GetDetails from a detailer
|
||||
err = s.Show.GetDetails(log)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -16,6 +16,7 @@ CREATE TABLE base (
|
||||
CREATE TABLE users (
|
||||
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
name text NOT NULL UNIQUE,
|
||||
hash text NOT NULL,
|
||||
LIKE base INCLUDING DEFAULTS
|
||||
);
|
||||
CREATE TRIGGER update_users BEFORE UPDATE ON users FOR EACH ROW EXECUTE PROCEDURE update_modified_column();
|
||||
|
@ -9,9 +9,9 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
addUserQuery = `INSERT INTO users (name) VALUES ($1) RETURNING id;`
|
||||
addUserQuery = `INSERT INTO users (name, hash) VALUES ($1, $2) RETURNING id;`
|
||||
getUserQuery = `SELECT * FROM users WHERE name=$1;`
|
||||
updateUserQuery = `UPDATE users SET name=$1 RETURNING *;`
|
||||
updateUserQuery = `UPDATE users SET name=:name, hash=:hash RETURNING *;`
|
||||
deleteUseQuery = `DELETE FROM users WHERE id=:id;`
|
||||
|
||||
addTokenQuery = `INSERT INTO tokens (value, users_id) VALUES ($1, $2) RETURNING id;`
|
||||
@ -24,6 +24,7 @@ const (
|
||||
type User struct {
|
||||
sqly.BaseTable
|
||||
Name string
|
||||
Hash string
|
||||
}
|
||||
|
||||
// Token represents a token
|
||||
@ -45,7 +46,7 @@ func Get(q sqlx.Queryer, name string) (*User, error) {
|
||||
// Add user to database or raises an error
|
||||
func (u *User) Add(q sqlx.Queryer) error {
|
||||
var id string
|
||||
err := q.QueryRowx(addUserQuery, u.Name).Scan(&id)
|
||||
err := q.QueryRowx(addUserQuery, u.Name, u.Hash).Scan(&id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -55,10 +56,13 @@ func (u *User) Add(q sqlx.Queryer) error {
|
||||
|
||||
// Update user on database or raise an error
|
||||
func (u *User) Update(ex *sqlx.DB) error {
|
||||
err := ex.Get(u, updateUserQuery, u.Name)
|
||||
rows, err := ex.NamedQuery(updateUserQuery, u)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for rows.Next() {
|
||||
rows.StructScan(u)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ func TestUser(t *testing.T) {
|
||||
sqly.RunWithLastestMigration(db, pgdsn, t, func(db *sqlx.DB, t *testing.T) {
|
||||
|
||||
// Add a new user
|
||||
u := &User{Name: "plop"}
|
||||
u := &User{Name: "plop", Hash: "plop"}
|
||||
err := u.Add(db)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@ -98,7 +98,7 @@ func TestUser(t *testing.T) {
|
||||
func TestTokenAddDelete(t *testing.T) {
|
||||
sqly.RunWithLastestMigration(db, pgdsn, t, func(db *sqlx.DB, t *testing.T) {
|
||||
// Add a new user
|
||||
u := &User{Name: "plop"}
|
||||
u := &User{Name: "plop", Hash: "plop"}
|
||||
err := u.Add(db)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@ -157,7 +157,7 @@ func TestTokenAddDelete(t *testing.T) {
|
||||
|
||||
func TestTokenCheck(t *testing.T) {
|
||||
sqly.RunWithLastestMigration(db, pgdsn, t, func(db *sqlx.DB, t *testing.T) {
|
||||
u := &User{Name: "plop"}
|
||||
u := &User{Name: "plop", Hash: "plop"}
|
||||
u.Add(db)
|
||||
token, err := u.NewToken(db)
|
||||
|
||||
@ -183,7 +183,7 @@ func TestTokenCheck(t *testing.T) {
|
||||
|
||||
func TestAutoUpdateCols(t *testing.T) {
|
||||
sqly.RunWithLastestMigration(db, pgdsn, t, func(db *sqlx.DB, t *testing.T) {
|
||||
u := &User{Name: "plop"}
|
||||
u := &User{Name: "plop", Hash: "plop"}
|
||||
u.Add(db)
|
||||
u.Name = "toto"
|
||||
u.Update(db)
|
||||
|
Loading…
x
Reference in New Issue
Block a user