open-vault/vendor/github.com/nicolai86/scaleway-sdk/organization.go
2020-10-13 16:26:39 -04:00

40 lines
851 B
Go

package api
import (
"encoding/json"
"net/http"
"net/url"
)
// Organization represents a Organization
type Organization struct {
ID string `json:"id"`
Name string `json:"name"`
Users []User `json:"users"`
}
// organizationsDefinition represents a Organizations
type organizationsDefinition struct {
Organizations []Organization `json:"organizations"`
}
// GetOrganization returns Organization
func (s *API) GetOrganization() ([]Organization, error) {
resp, err := s.GetResponsePaginate(AccountAPI, "organizations", url.Values{})
if err != nil {
return nil, err
}
defer resp.Body.Close()
body, err := s.handleHTTPError([]int{http.StatusOK}, resp)
if err != nil {
return nil, err
}
var data organizationsDefinition
if err = json.Unmarshal(body, &data); err != nil {
return nil, err
}
return data.Organizations, nil
}