Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1)

Unified Diff: state/user.go

Issue 62230043: state/..., worker/..., utils/...: use errgo
Patch Set: Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « state/unit_test.go ('k') | state/watcher.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: state/user.go
=== modified file 'state/user.go'
--- state/user.go 2014-01-14 13:29:26 +0000
+++ state/user.go 2014-02-12 18:03:05 +0000
@@ -4,12 +4,12 @@
package state
import (
- "fmt"
"regexp"
"labix.org/v2/mgo"
"labix.org/v2/mgo/txn"
+ errgo "launchpad.net/errgo/errors"
"launchpad.net/juju-core/errors"
"launchpad.net/juju-core/names"
"launchpad.net/juju-core/utils"
@@ -21,7 +21,7 @@
var count int
var err error
if count, err = st.users.FindId(name).Count(); err != nil {
- return false, err
+ return false, wrap(err)
}
return count > 0, nil
}
@@ -29,11 +29,11 @@
// AddUser adds a user to the state.
func (st *State) AddUser(name, password string) (*User, error) {
if !validUser.MatchString(name) {
- return nil, fmt.Errorf("invalid user name %q", name)
+ return nil, errgo.Newf("invalid user name %q", name)
}
salt, err := utils.RandomSalt()
if err != nil {
- return nil, err
+ return nil, wrap(err)
}
u := &User{
st: st,
@@ -50,11 +50,11 @@
Insert: &u.doc,
}}
err = st.runTransaction(ops)
- if err == txn.ErrAborted {
- err = fmt.Errorf("user already exists")
+ if errgo.Diagnosis(err) == txn.ErrAborted {
+ err = errgo.Newf("user already exists")
}
if err != nil {
- return nil, err
+ return nil, wrap(err)
}
return u, nil
}
@@ -63,7 +63,7 @@
// given name into the provided userDoc.
func (st *State) getUser(name string, udoc *userDoc) error {
err := st.users.Find(D{{"_id", name}}).One(udoc)
- if err == mgo.ErrNotFound {
+ if errgo.Diagnosis(err) == mgo.ErrNotFound {
err = errors.NotFoundf("user %q", name)
}
return err
@@ -73,7 +73,7 @@
func (st *State) User(name string) (*User, error) {
u := &User{st: st}
if err := st.getUser(name, &u.doc); err != nil {
- return nil, err
+ return nil, wrap(err, errors.IsNotFoundError)
}
return u, nil
}
@@ -105,7 +105,7 @@
func (u *User) SetPassword(password string) error {
salt, err := utils.RandomSalt()
if err != nil {
- return err
+ return wrap(err)
}
return u.SetPasswordHash(utils.UserPasswordHash(password, salt), salt)
}
@@ -121,7 +121,7 @@
Update: D{{"$set", D{{"passwordhash", pwHash}, {"passwordsalt", pwSalt}}}},
}}
if err := u.st.runTransaction(ops); err != nil {
- return fmt.Errorf("cannot set password of user %q: %v", u.Name(), err)
+ return errgo.Wrapf(err, "cannot set password of user %q", u.Name())
}
u.doc.PasswordHash = pwHash
u.doc.PasswordSalt = pwSalt
@@ -157,7 +157,7 @@
func (u *User) Refresh() error {
var udoc userDoc
if err := u.st.getUser(u.Name(), &udoc); err != nil {
- return err
+ return wrap(err)
}
u.doc = udoc
return nil
« no previous file with comments | « state/unit_test.go ('k') | state/watcher.go » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b