mirror of
https://github.com/rjNemo/go-wiki
synced 2026-06-12 13:36:38 +00:00
userStore complete
This commit is contained in:
parent
5e84fd34fc
commit
9bef392094
4 changed files with 27 additions and 5 deletions
1
TODO.md
1
TODO.md
|
|
@ -1,3 +1,4 @@
|
||||||
# TO DO
|
# TO DO
|
||||||
|
|
||||||
- [x] The mail field is case sensitive. Convert mail to lowercase before they are sent to InsertUser
|
- [x] The mail field is case sensitive. Convert mail to lowercase before they are sent to InsertUser
|
||||||
|
- [] All errors are fatal. Provide proper error handling.
|
||||||
|
|
|
||||||
|
|
@ -31,10 +31,11 @@ func UsePSQL() {
|
||||||
// u := model.TestUser()
|
// u := model.TestUser()
|
||||||
// store.Add(u)
|
// store.Add(u)
|
||||||
// log.Print(u)
|
// log.Print(u)
|
||||||
u1 := model.NewUser(3, 19, "paul", "newman", "PdsN@FDKML.COM")
|
u1 := model.NewUser(3, 20, "paul", "newman", "PdsNz@FDKML.COM")
|
||||||
store.Update(16, u1)
|
store.Update(16, u1)
|
||||||
log.Print(store.Get(1))
|
log.Print(store.Get(1))
|
||||||
store.Delete(8)
|
// store.Delete(8)
|
||||||
|
log.Print(store.GetAll())
|
||||||
}
|
}
|
||||||
|
|
||||||
func sqlExec(db *sql.DB, s string) {
|
func sqlExec(db *sql.DB, s string) {
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ const (
|
||||||
// QueryDelete is the SQL command used to delete a user from the database.
|
// QueryDelete is the SQL command used to delete a user from the database.
|
||||||
QueryDelete = `
|
QueryDelete = `
|
||||||
DELETE FROM users
|
DELETE FROM users
|
||||||
WHERE id = $1;
|
WHERE id = $1
|
||||||
|
RETURNING *;
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,26 @@ func NewUserStore(db *sql.DB) UserStore {
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetAll retrieves all the users from the database.
|
// GetAll retrieves all the users from the database.
|
||||||
func (us UserStore) GetAll() ([]model.User, error) {}
|
func (us UserStore) GetAll() ([]model.User, error) {
|
||||||
|
var id, age int
|
||||||
|
var firstName, lastName, email string
|
||||||
|
|
||||||
|
rows, err := us.db.Query(QueryGetAll)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var users []model.User
|
||||||
|
for rows.Next() {
|
||||||
|
err := rows.Scan(&id, &age, &firstName, &lastName, &email)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err) // too severe
|
||||||
|
}
|
||||||
|
u := model.NewUser(id, age, firstName, lastName, email)
|
||||||
|
users = append(users, u)
|
||||||
|
}
|
||||||
|
return users, nil
|
||||||
|
}
|
||||||
|
|
||||||
// Get retrieves the user identified by 'id' from database
|
// Get retrieves the user identified by 'id' from database
|
||||||
func (us UserStore) Get(uid int) (model.User, error) {
|
func (us UserStore) Get(uid int) (model.User, error) {
|
||||||
|
|
@ -74,6 +93,6 @@ func (us UserStore) Delete(id int) {
|
||||||
log.Fatal(err) // too severe
|
log.Fatal(err) // too severe
|
||||||
}
|
}
|
||||||
if count == 0 {
|
if count == 0 {
|
||||||
log.Fatal("Update failed") // too severe
|
log.Fatal("Delete failed") // too severe
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue