github.com/stripe/stripe-go/v76@v76.25.0/issuing/authorization/client.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 // Package authorization provides the /issuing/authorizations APIs 8 package authorization 9 10 import ( 11 "net/http" 12 13 stripe "github.com/stripe/stripe-go/v76" 14 "github.com/stripe/stripe-go/v76/form" 15 ) 16 17 // Client is used to invoke /issuing/authorizations APIs. 18 type Client struct { 19 B stripe.Backend 20 Key string 21 } 22 23 // Get returns the details of an issuing authorization. 24 func Get(id string, params *stripe.IssuingAuthorizationParams) (*stripe.IssuingAuthorization, error) { 25 return getC().Get(id, params) 26 } 27 28 // Get returns the details of an issuing authorization. 29 func (c Client) Get(id string, params *stripe.IssuingAuthorizationParams) (*stripe.IssuingAuthorization, error) { 30 path := stripe.FormatURLPath("/v1/issuing/authorizations/%s", id) 31 authorization := &stripe.IssuingAuthorization{} 32 err := c.B.Call(http.MethodGet, path, c.Key, params, authorization) 33 return authorization, err 34 } 35 36 // Update updates an issuing authorization's properties. 37 func Update(id string, params *stripe.IssuingAuthorizationParams) (*stripe.IssuingAuthorization, error) { 38 return getC().Update(id, params) 39 } 40 41 // Update updates an issuing authorization's properties. 42 func (c Client) Update(id string, params *stripe.IssuingAuthorizationParams) (*stripe.IssuingAuthorization, error) { 43 path := stripe.FormatURLPath("/v1/issuing/authorizations/%s", id) 44 authorization := &stripe.IssuingAuthorization{} 45 err := c.B.Call(http.MethodPost, path, c.Key, params, authorization) 46 return authorization, err 47 } 48 49 // Approve is the method for the `POST /v1/issuing/authorizations/{authorization}/approve` API. 50 func Approve(id string, params *stripe.IssuingAuthorizationApproveParams) (*stripe.IssuingAuthorization, error) { 51 return getC().Approve(id, params) 52 } 53 54 // Approve is the method for the `POST /v1/issuing/authorizations/{authorization}/approve` API. 55 func (c Client) Approve(id string, params *stripe.IssuingAuthorizationApproveParams) (*stripe.IssuingAuthorization, error) { 56 path := stripe.FormatURLPath("/v1/issuing/authorizations/%s/approve", id) 57 authorization := &stripe.IssuingAuthorization{} 58 err := c.B.Call(http.MethodPost, path, c.Key, params, authorization) 59 return authorization, err 60 } 61 62 // Decline is the method for the `POST /v1/issuing/authorizations/{authorization}/decline` API. 63 func Decline(id string, params *stripe.IssuingAuthorizationDeclineParams) (*stripe.IssuingAuthorization, error) { 64 return getC().Decline(id, params) 65 } 66 67 // Decline is the method for the `POST /v1/issuing/authorizations/{authorization}/decline` API. 68 func (c Client) Decline(id string, params *stripe.IssuingAuthorizationDeclineParams) (*stripe.IssuingAuthorization, error) { 69 path := stripe.FormatURLPath("/v1/issuing/authorizations/%s/decline", id) 70 authorization := &stripe.IssuingAuthorization{} 71 err := c.B.Call(http.MethodPost, path, c.Key, params, authorization) 72 return authorization, err 73 } 74 75 // List returns a list of issuing authorizations. 76 func List(params *stripe.IssuingAuthorizationListParams) *Iter { 77 return getC().List(params) 78 } 79 80 // List returns a list of issuing authorizations. 81 func (c Client) List(listParams *stripe.IssuingAuthorizationListParams) *Iter { 82 return &Iter{ 83 Iter: stripe.GetIter(listParams, func(p *stripe.Params, b *form.Values) ([]interface{}, stripe.ListContainer, error) { 84 list := &stripe.IssuingAuthorizationList{} 85 err := c.B.CallRaw(http.MethodGet, "/v1/issuing/authorizations", c.Key, b, p, list) 86 87 ret := make([]interface{}, len(list.Data)) 88 for i, v := range list.Data { 89 ret[i] = v 90 } 91 92 return ret, list, err 93 }), 94 } 95 } 96 97 // Iter is an iterator for issuing authorizations. 98 type Iter struct { 99 *stripe.Iter 100 } 101 102 // IssuingAuthorization returns the issuing authorization which the iterator is currently pointing to. 103 func (i *Iter) IssuingAuthorization() *stripe.IssuingAuthorization { 104 return i.Current().(*stripe.IssuingAuthorization) 105 } 106 107 // IssuingAuthorizationList returns the current list object which the iterator is 108 // currently using. List objects will change as new API calls are made to 109 // continue pagination. 110 func (i *Iter) IssuingAuthorizationList() *stripe.IssuingAuthorizationList { 111 return i.List().(*stripe.IssuingAuthorizationList) 112 } 113 114 func getC() Client { 115 return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key} 116 }