45 lines
1.1 KiB
Go
45 lines
1.1 KiB
Go
|
package dnsimple
|
||
|
|
||
|
import (
|
||
|
)
|
||
|
|
||
|
type AccountsService struct {
|
||
|
client *Client
|
||
|
}
|
||
|
|
||
|
// Account represents a DNSimple account.
|
||
|
type Account struct {
|
||
|
ID int `json:"id,omitempty"`
|
||
|
Email string `json:"email,omitempty"`
|
||
|
PlanIdentifier string `json:"plan_identifier,omitempty"`
|
||
|
CreatedAt string `json:"created_at,omitempty"`
|
||
|
UpdatedAt string `json:"updated_at,omitempty"`
|
||
|
}
|
||
|
|
||
|
// AccountsResponse represents a response from an API method that returns a collection of Account struct.
|
||
|
type AccountsResponse struct {
|
||
|
Response
|
||
|
Data []Account `json:"data"`
|
||
|
}
|
||
|
|
||
|
// ListAccounts list the accounts for an user.
|
||
|
//
|
||
|
// See https://developer.dnsimple.com/v2/accounts/#list
|
||
|
func (s *AccountsService) ListAccounts(options *ListOptions) (*AccountsResponse, error) {
|
||
|
path := versioned("/accounts")
|
||
|
accountsResponse := &AccountsResponse{}
|
||
|
|
||
|
path, err := addURLQueryOptions(path, options)
|
||
|
if err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
|
||
|
resp, err := s.client.get(path, accountsResponse)
|
||
|
if err != nil {
|
||
|
return accountsResponse, err
|
||
|
}
|
||
|
|
||
|
accountsResponse.HttpResponse = resp
|
||
|
return accountsResponse, nil
|
||
|
}
|