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  }