-
Notifications
You must be signed in to change notification settings - Fork 449
/
client.go
152 lines (127 loc) · 5.6 KB
/
client.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
//
//
// File generated from our OpenAPI spec
//
//
// Package account provides the /financial_connections/accounts APIs
package account
import (
"net/http"
stripe "github.com/stripe/stripe-go/v75"
"github.com/stripe/stripe-go/v75/form"
)
// Client is used to invoke /financial_connections/accounts APIs.
type Client struct {
B stripe.Backend
Key string
}
// GetByID returns the details of a financial connections account.
func GetByID(id string, params *stripe.FinancialConnectionsAccountParams) (*stripe.FinancialConnectionsAccount, error) {
return getC().GetByID(id, params)
}
// GetByID returns the details of a financial connections account.
func (c Client) GetByID(id string, params *stripe.FinancialConnectionsAccountParams) (*stripe.FinancialConnectionsAccount, error) {
path := stripe.FormatURLPath("/v1/financial_connections/accounts/%s", id)
account := &stripe.FinancialConnectionsAccount{}
err := c.B.Call(http.MethodGet, path, c.Key, params, account)
return account, err
}
// Disconnect is the method for the `POST /v1/financial_connections/accounts/{account}/disconnect` API.
func Disconnect(id string, params *stripe.FinancialConnectionsAccountDisconnectParams) (*stripe.FinancialConnectionsAccount, error) {
return getC().Disconnect(id, params)
}
// Disconnect is the method for the `POST /v1/financial_connections/accounts/{account}/disconnect` API.
func (c Client) Disconnect(id string, params *stripe.FinancialConnectionsAccountDisconnectParams) (*stripe.FinancialConnectionsAccount, error) {
path := stripe.FormatURLPath(
"/v1/financial_connections/accounts/%s/disconnect",
id,
)
account := &stripe.FinancialConnectionsAccount{}
err := c.B.Call(http.MethodPost, path, c.Key, params, account)
return account, err
}
// Refresh is the method for the `POST /v1/financial_connections/accounts/{account}/refresh` API.
func Refresh(id string, params *stripe.FinancialConnectionsAccountRefreshParams) (*stripe.FinancialConnectionsAccount, error) {
return getC().Refresh(id, params)
}
// Refresh is the method for the `POST /v1/financial_connections/accounts/{account}/refresh` API.
func (c Client) Refresh(id string, params *stripe.FinancialConnectionsAccountRefreshParams) (*stripe.FinancialConnectionsAccount, error) {
path := stripe.FormatURLPath(
"/v1/financial_connections/accounts/%s/refresh",
id,
)
account := &stripe.FinancialConnectionsAccount{}
err := c.B.Call(http.MethodPost, path, c.Key, params, account)
return account, err
}
// List returns a list of financial connections accounts.
func List(params *stripe.FinancialConnectionsAccountListParams) *Iter {
return getC().List(params)
}
// List returns a list of financial connections accounts.
func (c Client) List(listParams *stripe.FinancialConnectionsAccountListParams) *Iter {
return &Iter{
Iter: stripe.GetIter(listParams, func(p *stripe.Params, b *form.Values) ([]interface{}, stripe.ListContainer, error) {
list := &stripe.FinancialConnectionsAccountList{}
err := c.B.CallRaw(http.MethodGet, "/v1/financial_connections/accounts", c.Key, b, p, list)
ret := make([]interface{}, len(list.Data))
for i, v := range list.Data {
ret[i] = v
}
return ret, list, err
}),
}
}
// Iter is an iterator for financial connections accounts.
type Iter struct {
*stripe.Iter
}
// FinancialConnectionsAccount returns the financial connections account which the iterator is currently pointing to.
func (i *Iter) FinancialConnectionsAccount() *stripe.FinancialConnectionsAccount {
return i.Current().(*stripe.FinancialConnectionsAccount)
}
// FinancialConnectionsAccountList returns the current list object which the iterator is
// currently using. List objects will change as new API calls are made to
// continue pagination.
func (i *Iter) FinancialConnectionsAccountList() *stripe.FinancialConnectionsAccountList {
return i.List().(*stripe.FinancialConnectionsAccountList)
}
// ListOwners is the method for the `GET /v1/financial_connections/accounts/{account}/owners` API.
func ListOwners(params *stripe.FinancialConnectionsAccountListOwnersParams) *OwnerIter {
return getC().ListOwners(params)
}
// ListOwners is the method for the `GET /v1/financial_connections/accounts/{account}/owners` API.
func (c Client) ListOwners(listParams *stripe.FinancialConnectionsAccountListOwnersParams) *OwnerIter {
path := stripe.FormatURLPath(
"/v1/financial_connections/accounts/%s/owners",
stripe.StringValue(listParams.Account),
)
return &OwnerIter{
Iter: stripe.GetIter(listParams, func(p *stripe.Params, b *form.Values) ([]interface{}, stripe.ListContainer, error) {
list := &stripe.FinancialConnectionsAccountOwnerList{}
err := c.B.CallRaw(http.MethodGet, path, c.Key, b, p, list)
ret := make([]interface{}, len(list.Data))
for i, v := range list.Data {
ret[i] = v
}
return ret, list, err
}),
}
}
// OwnerIter is an iterator for financial connections account owners.
type OwnerIter struct {
*stripe.Iter
}
// FinancialConnectionsAccountOwner returns the financial connections account owner which the iterator is currently pointing to.
func (i *OwnerIter) FinancialConnectionsAccountOwner() *stripe.FinancialConnectionsAccountOwner {
return i.Current().(*stripe.FinancialConnectionsAccountOwner)
}
// FinancialConnectionsAccountOwnerList returns the current list object which the iterator is
// currently using. List objects will change as new API calls are made to
// continue pagination.
func (i *OwnerIter) FinancialConnectionsAccountOwnerList() *stripe.FinancialConnectionsAccountOwnerList {
return i.List().(*stripe.FinancialConnectionsAccountOwnerList)
}
func getC() Client {
return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key}
}