upd(rbac): user create returns valid user now
This commit is contained in:
parent
f92d7a96f0
commit
38debbb1b1
@ -2,6 +2,7 @@ package types
|
||||
|
||||
type (
|
||||
User struct {
|
||||
UserID string `json:"userid"`
|
||||
Username string `json:"username"`
|
||||
AssignedRoles []string `json:"assignedRoles"`
|
||||
AuthorizedRoles []string `json:"authorizedRoles"`
|
||||
|
||||
@ -13,7 +13,7 @@ type (
|
||||
}
|
||||
|
||||
UsersInterface interface {
|
||||
Create(username, password string) error
|
||||
Create(username, password string) (*types.User, error)
|
||||
Get(username string) (*types.User, error)
|
||||
Delete(username string) error
|
||||
|
||||
@ -23,7 +23,7 @@ type (
|
||||
)
|
||||
|
||||
const (
|
||||
usersCreate = "/users/%s"
|
||||
usersCreate = "/users/"
|
||||
usersGet = "/users/%s"
|
||||
usersDelete = "/users/%s"
|
||||
// @todo: plural for users, but singular for sessions
|
||||
@ -31,21 +31,23 @@ const (
|
||||
usersRemoveRole = "/users/%s/deassignRoles"
|
||||
)
|
||||
|
||||
func (u *Users) Create(username, password string) error {
|
||||
func (u *Users) Create(username, password string) (*types.User, error) {
|
||||
body := struct {
|
||||
Username string `json:"username"`
|
||||
Password string `json:"password"`
|
||||
}{password}
|
||||
}{username, password}
|
||||
|
||||
resp, err := u.Client.Post(fmt.Sprintf(usersCreate, username), body)
|
||||
resp, err := u.Client.Post(usersCreate, body)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "request failed")
|
||||
return nil, errors.Wrap(err, "request failed")
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
switch resp.StatusCode {
|
||||
case 200:
|
||||
return nil
|
||||
user := &types.User{}
|
||||
return user, errors.Wrap(json.NewDecoder(resp.Body).Decode(user), "decoding json failed")
|
||||
default:
|
||||
return toError(resp)
|
||||
return nil, toError(resp)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user