@@ -74,8 +74,8 @@ func (c *client) ResolveDomain(domain *Domain) error {
74
74
tokens = append ([]string {rootDomain }, tokens ... )
75
75
} else {
76
76
tokens [0 ] = rootDomain
77
+ domain .Path = strings .Join (tokens , domainDelimiter )
77
78
}
78
- domain .Path = strings .Join (tokens , domainDelimiter )
79
79
}
80
80
81
81
// Set present search/list parameters.
@@ -85,7 +85,7 @@ func (c *client) ResolveDomain(domain *Domain) error {
85
85
setIfNotEmpty (domain .ID , p .SetId )
86
86
87
87
// If path was provided also use level narrow the search for domain.
88
- if level := len (tokens ); level >= 0 {
88
+ if level := len (tokens ) - 1 ; level >= 0 {
89
89
p .SetLevel (level )
90
90
}
91
91
@@ -140,9 +140,6 @@ func (c *client) ResolveAccount(account *Account) error {
140
140
resp , retErr := c .cs .Account .ListAccounts (p )
141
141
if retErr != nil {
142
142
return retErr
143
- } else if resp .Count == 0 {
144
- return errors .Errorf ("could not find account %s in domain ID %s" ,
145
- account .Name , account .Domain .ID )
146
143
} else if resp .Count != 1 {
147
144
return errors .Errorf ("expected 1 Account with account name %s in domain ID %s, but got %d" ,
148
145
account .Name , account .Domain .ID , resp .Count )
@@ -154,6 +151,11 @@ func (c *client) ResolveAccount(account *Account) error {
154
151
155
152
// ResolveUser resolves a user's information.
156
153
func (c * client ) ResolveUser (user * User ) error {
154
+ // Resolve account prior to any user resolution activity.
155
+ if err := c .ResolveAccount (& user .Account ); err != nil {
156
+ return errors .Wrapf (err , "resolving account %s details" , user .Account .Name )
157
+ }
158
+
157
159
p := c .cs .User .NewListUsersParams ()
158
160
p .SetAccount (user .Account .Name )
159
161
p .SetDomainid (user .Domain .ID )
@@ -181,7 +183,7 @@ func (c *client) ResolveUserKeys(user *User) error {
181
183
p := c .cs .User .NewGetUserKeysParams (user .ID )
182
184
resp , err := c .cs .User .GetUserKeys (p )
183
185
if err != nil {
184
- return errors .Wrapf ( err , "error encountered when resolving user api keys for user %s" , user .Name )
186
+ return errors .Errorf ( "error encountered when resolving user api keys for user %s" , user .Name )
185
187
}
186
188
user .APIKey = resp .Apikey
187
189
user .SecretKey = resp .Secretkey
0 commit comments