in internal/aws/client.go [244:274]
func (c *client) FindUserByEmail(email string) (*User, error) {
startURL, err := url.Parse(c.endpointURL.String())
if err != nil {
return nil, err
}
filter := fmt.Sprintf("userName eq \"%s\"", email)
startURL.Path = path.Join(startURL.Path, "/Users")
q := startURL.Query()
q.Add("filter", filter)
startURL.RawQuery = q.Encode()
resp, err := c.sendRequest(http.MethodGet, startURL.String())
if err != nil {
return nil, err
}
var r UserFilterResults
err = json.Unmarshal(resp, &r)
if err != nil {
return nil, err
}
if r.TotalResults != 1 {
return nil, ErrUserNotFound
}
return &r.Resources[0], nil
}