Documentation
¶
Index ¶
- Constants
- func Bool(value bool) param.Field[bool]
- func F[T any](value T) param.Field[T]
- func FileParam(reader io.Reader, filename string, contentType string) param.Field[io.Reader]
- func Float(value float64) param.Field[float64]
- func Int(value int64) param.Field[int64]
- func Null[T any]() param.Field[T]
- func Raw[T any](value any) param.Field[T]
- func String(value string) param.Field[string]
- type Address
- type AddressDeleteResponse
- type AddressDeleteResponseData
- type AddressListResponse
- type AddressNewParams
- type AddressNewResponse
- type AddressService
- func (r *AddressService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *AddressDeleteResponse, err error)
- func (r *AddressService) List(ctx context.Context, opts ...option.RequestOption) (res *AddressListResponse, err error)
- func (r *AddressService) New(ctx context.Context, body AddressNewParams, opts ...option.RequestOption) (res *AddressNewResponse, err error)
- type Card
- type CardDeleteResponse
- type CardDeleteResponseData
- type CardExpiration
- type CardListResponse
- type CardNewParams
- type CardNewResponse
- type CardService
- func (r *CardService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *CardDeleteResponse, err error)
- func (r *CardService) List(ctx context.Context, opts ...option.RequestOption) (res *CardListResponse, err error)
- func (r *CardService) New(ctx context.Context, body CardNewParams, opts ...option.RequestOption) (res *CardNewResponse, err error)
- type Cart
- type CartAmount
- type CartItem
- type CartListResponse
- type CartService
- func (r *CartService) List(ctx context.Context, opts ...option.RequestOption) (res *CartListResponse, err error)
- func (r *CartService) SetAddress(ctx context.Context, body CartSetAddressParams, opts ...option.RequestOption) (res *CartSetAddressResponse, err error)
- func (r *CartService) SetCard(ctx context.Context, body CartSetCardParams, opts ...option.RequestOption) (res *CartSetCardResponse, err error)
- func (r *CartService) SetItem(ctx context.Context, body CartSetItemParams, opts ...option.RequestOption) (res *CartSetItemResponse, err error)
- type CartSetAddressParams
- type CartSetAddressResponse
- type CartSetAddressResponseData
- type CartSetCardParams
- type CartSetCardResponse
- type CartSetCardResponseData
- type CartSetItemParams
- type CartSetItemResponse
- type CartShipping
- type Client
- func (r *Client) Delete(ctx context.Context, path string, params interface{}, res interface{}, ...) error
- func (r *Client) Execute(ctx context.Context, method string, path string, params interface{}, ...) error
- func (r *Client) Get(ctx context.Context, path string, params interface{}, res interface{}, ...) error
- func (r *Client) Patch(ctx context.Context, path string, params interface{}, res interface{}, ...) error
- func (r *Client) Post(ctx context.Context, path string, params interface{}, res interface{}, ...) error
- func (r *Client) Put(ctx context.Context, path string, params interface{}, res interface{}, ...) error
- type Error
- type Order
- type OrderAmount
- type OrderGetResponse
- type OrderItem
- type OrderListResponse
- type OrderNewResponse
- type OrderService
- func (r *OrderService) Get(ctx context.Context, id string, opts ...option.RequestOption) (res *OrderGetResponse, err error)
- func (r *OrderService) List(ctx context.Context, opts ...option.RequestOption) (res *OrderListResponse, err error)
- func (r *OrderService) New(ctx context.Context, opts ...option.RequestOption) (res *OrderNewResponse, err error)
- type OrderShipping
- type OrderTracking
- type Product
- type ProductListResponse
- type ProductService
- type ProductSubscription
- type ProductVariant
- type Subscription
- type SubscriptionDeleteResponse
- type SubscriptionDeleteResponseData
- type SubscriptionFrequency
- type SubscriptionListResponse
- type SubscriptionNewParams
- type SubscriptionNewResponse
- type SubscriptionNewResponseData
- type SubscriptionParam
- type SubscriptionService
- func (r *SubscriptionService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *SubscriptionDeleteResponse, err error)
- func (r *SubscriptionService) List(ctx context.Context, opts ...option.RequestOption) (res *SubscriptionListResponse, err error)
- func (r *SubscriptionService) New(ctx context.Context, body SubscriptionNewParams, opts ...option.RequestOption) (res *SubscriptionNewResponse, err error)
- type User
- type UserInitResponse
- type UserInitResponseData
- type UserMeResponse
- type UserService
- func (r *UserService) Init(ctx context.Context, opts ...option.RequestOption) (res *UserInitResponse, err error)
- func (r *UserService) Me(ctx context.Context, opts ...option.RequestOption) (res *UserMeResponse, err error)
- func (r *UserService) Update(ctx context.Context, body UserUpdateParams, opts ...option.RequestOption) (res *UserUpdateResponse, err error)
- type UserUpdateParams
- type UserUpdateResponse
Constants ¶
const ProductSubscriptionAllowed = shared.ProductSubscriptionAllowed
This is an alias to an internal value.
const ProductSubscriptionRequired = shared.ProductSubscriptionRequired
This is an alias to an internal value.
const SubscriptionFrequencyDaily = shared.SubscriptionFrequencyDaily
This is an alias to an internal value.
const SubscriptionFrequencyFixed = shared.SubscriptionFrequencyFixed
This is an alias to an internal value.
const SubscriptionFrequencyMonthly = shared.SubscriptionFrequencyMonthly
This is an alias to an internal value.
const SubscriptionFrequencyWeekly = shared.SubscriptionFrequencyWeekly
This is an alias to an internal value.
const SubscriptionFrequencyYearly = shared.SubscriptionFrequencyYearly
This is an alias to an internal value.
Variables ¶
This section is empty.
Functions ¶
func F ¶
F is a param field helper used to initialize a param.Field generic struct. This helps specify null, zero values, and overrides, as well as normal values. You can read more about this in our README.
func Int ¶
Int is a param field helper which helps specify integers. This is particularly helpful when specifying integer constants for fields.
func Raw ¶
Raw is a param field helper for specifying values for fields when the type you are looking to send is different from the type that is specified in the SDK. For example, if the type of the field is an integer, but you want to send a float, you could do that by setting the corresponding field with Raw[int](0.5).
Types ¶
type Address ¶
Physical address associated with a Terminal shop user.
This is an alias to an internal type.
type AddressDeleteResponse ¶
type AddressDeleteResponse struct {
Data AddressDeleteResponseData `json:"data,required"`
JSON addressDeleteResponseJSON `json:"-"`
}
func (*AddressDeleteResponse) UnmarshalJSON ¶
func (r *AddressDeleteResponse) UnmarshalJSON(data []byte) (err error)
type AddressDeleteResponseData ¶
type AddressDeleteResponseData string
const (
AddressDeleteResponseDataOk AddressDeleteResponseData = "ok"
)
func (AddressDeleteResponseData) IsKnown ¶
func (r AddressDeleteResponseData) IsKnown() bool
type AddressListResponse ¶
type AddressListResponse struct {
// Shipping addresses.
Data []shared.Address `json:"data,required"`
JSON addressListResponseJSON `json:"-"`
}
func (*AddressListResponse) UnmarshalJSON ¶
func (r *AddressListResponse) UnmarshalJSON(data []byte) (err error)
type AddressNewParams ¶
type AddressNewParams struct {
// City of the address.
City param.Field[string] `json:"city,required"`
// ISO 3166-1 alpha-2 country code of the address.
Country param.Field[string] `json:"country,required"`
// The recipient's name.
Name param.Field[string] `json:"name,required"`
// Street of the address.
Street1 param.Field[string] `json:"street1,required"`
// Zip code of the address.
Zip param.Field[string] `json:"zip,required"`
// Phone number of the recipient.
Phone param.Field[string] `json:"phone"`
// Province or state of the address.
Province param.Field[string] `json:"province"`
// Apartment, suite, etc. of the address.
Street2 param.Field[string] `json:"street2"`
}
func (AddressNewParams) MarshalJSON ¶
func (r AddressNewParams) MarshalJSON() (data []byte, err error)
type AddressNewResponse ¶
type AddressNewResponse struct {
// Shipping address ID.
Data string `json:"data,required"`
JSON addressNewResponseJSON `json:"-"`
}
func (*AddressNewResponse) UnmarshalJSON ¶
func (r *AddressNewResponse) UnmarshalJSON(data []byte) (err error)
type AddressService ¶
type AddressService struct {
Options []option.RequestOption
}
AddressService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAddressService method instead.
func NewAddressService ¶
func NewAddressService(opts ...option.RequestOption) (r *AddressService)
NewAddressService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*AddressService) Delete ¶
func (r *AddressService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *AddressDeleteResponse, err error)
Delete a shipping address from the current user.
func (*AddressService) List ¶
func (r *AddressService) List(ctx context.Context, opts ...option.RequestOption) (res *AddressListResponse, err error)
Get the shipping addresses associated with the current user.
func (*AddressService) New ¶
func (r *AddressService) New(ctx context.Context, body AddressNewParams, opts ...option.RequestOption) (res *AddressNewResponse, err error)
Create and add a shipping address to the current user.
type Card ¶
Credit card used for payments in the Terminal shop.
This is an alias to an internal type.
type CardDeleteResponse ¶
type CardDeleteResponse struct {
Data CardDeleteResponseData `json:"data,required"`
JSON cardDeleteResponseJSON `json:"-"`
}
func (*CardDeleteResponse) UnmarshalJSON ¶
func (r *CardDeleteResponse) UnmarshalJSON(data []byte) (err error)
type CardDeleteResponseData ¶
type CardDeleteResponseData string
const (
CardDeleteResponseDataOk CardDeleteResponseData = "ok"
)
func (CardDeleteResponseData) IsKnown ¶
func (r CardDeleteResponseData) IsKnown() bool
type CardExpiration ¶
type CardExpiration = shared.CardExpiration
Expiration of the card.
This is an alias to an internal type.
type CardListResponse ¶
type CardListResponse struct {
// List of cards associated with the user.
Data []shared.Card `json:"data,required"`
JSON cardListResponseJSON `json:"-"`
}
func (*CardListResponse) UnmarshalJSON ¶
func (r *CardListResponse) UnmarshalJSON(data []byte) (err error)
type CardNewParams ¶
type CardNewParams struct {
// Stripe card token. Learn how to
// [create one here](https://docs.stripe.com/api/tokens/create_card).
Token param.Field[string] `json:"token,required"`
}
func (CardNewParams) MarshalJSON ¶
func (r CardNewParams) MarshalJSON() (data []byte, err error)
type CardNewResponse ¶
type CardNewResponse struct {
// ID of the card.
Data string `json:"data,required"`
JSON cardNewResponseJSON `json:"-"`
}
func (*CardNewResponse) UnmarshalJSON ¶
func (r *CardNewResponse) UnmarshalJSON(data []byte) (err error)
type CardService ¶
type CardService struct {
Options []option.RequestOption
}
CardService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCardService method instead.
func NewCardService ¶
func NewCardService(opts ...option.RequestOption) (r *CardService)
NewCardService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*CardService) Delete ¶
func (r *CardService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *CardDeleteResponse, err error)
Delete a credit card associated with the current user.
func (*CardService) List ¶
func (r *CardService) List(ctx context.Context, opts ...option.RequestOption) (res *CardListResponse, err error)
List the credit cards associated with the current user.
func (*CardService) New ¶
func (r *CardService) New(ctx context.Context, body CardNewParams, opts ...option.RequestOption) (res *CardNewResponse, err error)
Attach a credit card (tokenized via Stripe) to the current user.
type CartAmount ¶
type CartAmount = shared.CartAmount
The subtotal and shipping amounts for the current user's cart.
This is an alias to an internal type.
type CartItem ¶
An item in the current Terminal shop user's cart.
This is an alias to an internal type.
type CartListResponse ¶
type CartListResponse struct {
// The current Terminal shop user's cart.
Data shared.Cart `json:"data,required"`
JSON cartListResponseJSON `json:"-"`
}
func (*CartListResponse) UnmarshalJSON ¶
func (r *CartListResponse) UnmarshalJSON(data []byte) (err error)
type CartService ¶
type CartService struct {
Options []option.RequestOption
}
CartService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCartService method instead.
func NewCartService ¶
func NewCartService(opts ...option.RequestOption) (r *CartService)
NewCartService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*CartService) List ¶
func (r *CartService) List(ctx context.Context, opts ...option.RequestOption) (res *CartListResponse, err error)
Get the current user's cart.
func (*CartService) SetAddress ¶
func (r *CartService) SetAddress(ctx context.Context, body CartSetAddressParams, opts ...option.RequestOption) (res *CartSetAddressResponse, err error)
Set the shipping address for the current user's cart.
func (*CartService) SetCard ¶
func (r *CartService) SetCard(ctx context.Context, body CartSetCardParams, opts ...option.RequestOption) (res *CartSetCardResponse, err error)
Set the credit card for the current user's cart.
func (*CartService) SetItem ¶
func (r *CartService) SetItem(ctx context.Context, body CartSetItemParams, opts ...option.RequestOption) (res *CartSetItemResponse, err error)
Add an item to the current user's cart.
type CartSetAddressParams ¶
type CartSetAddressParams struct {
// ID of the shipping address to set for the current user's cart.
AddressID param.Field[string] `json:"addressID,required"`
}
func (CartSetAddressParams) MarshalJSON ¶
func (r CartSetAddressParams) MarshalJSON() (data []byte, err error)
type CartSetAddressResponse ¶
type CartSetAddressResponse struct {
Data CartSetAddressResponseData `json:"data,required"`
JSON cartSetAddressResponseJSON `json:"-"`
}
func (*CartSetAddressResponse) UnmarshalJSON ¶
func (r *CartSetAddressResponse) UnmarshalJSON(data []byte) (err error)
type CartSetAddressResponseData ¶
type CartSetAddressResponseData string
const (
CartSetAddressResponseDataOk CartSetAddressResponseData = "ok"
)
func (CartSetAddressResponseData) IsKnown ¶
func (r CartSetAddressResponseData) IsKnown() bool
type CartSetCardParams ¶
type CartSetCardParams struct {
// ID of the credit card to set for the current user's cart.
CardID param.Field[string] `json:"cardID,required"`
}
func (CartSetCardParams) MarshalJSON ¶
func (r CartSetCardParams) MarshalJSON() (data []byte, err error)
type CartSetCardResponse ¶
type CartSetCardResponse struct {
Data CartSetCardResponseData `json:"data,required"`
JSON cartSetCardResponseJSON `json:"-"`
}
func (*CartSetCardResponse) UnmarshalJSON ¶
func (r *CartSetCardResponse) UnmarshalJSON(data []byte) (err error)
type CartSetCardResponseData ¶
type CartSetCardResponseData string
const (
CartSetCardResponseDataOk CartSetCardResponseData = "ok"
)
func (CartSetCardResponseData) IsKnown ¶
func (r CartSetCardResponseData) IsKnown() bool
type CartSetItemParams ¶
type CartSetItemParams struct {
// ID of the product variant to add to the cart.
ProductVariantID param.Field[string] `json:"productVariantID,required"`
// Quantity of the item to add to the cart.
Quantity param.Field[float64] `json:"quantity,required"`
}
func (CartSetItemParams) MarshalJSON ¶
func (r CartSetItemParams) MarshalJSON() (data []byte, err error)
type CartSetItemResponse ¶
type CartSetItemResponse struct {
// The current Terminal shop user's cart.
Data shared.Cart `json:"data,required"`
JSON cartSetItemResponseJSON `json:"-"`
}
func (*CartSetItemResponse) UnmarshalJSON ¶
func (r *CartSetItemResponse) UnmarshalJSON(data []byte) (err error)
type CartShipping ¶
type CartShipping = shared.CartShipping
Shipping information for the current user's cart.
This is an alias to an internal type.
type Client ¶
type Client struct {
Options []option.RequestOption
Product *ProductService
User *UserService
Address *AddressService
Card *CardService
Cart *CartService
Order *OrderService
Subscription *SubscriptionService
}
Client creates a struct with services and top level methods that help with interacting with the terminal API. You should not instantiate this client directly, and instead use the NewClient method instead.
func NewClient ¶
func NewClient(opts ...option.RequestOption) (r *Client)
NewClient generates a new client with the default option read from the environment (TERMINAL_BEARER_TOKEN). The option passed in as arguments are applied after these default arguments, and all option will be passed down to the services and requests that this client makes.
func (*Client) Delete ¶
func (r *Client) Delete(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error
Delete makes a DELETE request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Execute ¶
func (r *Client) Execute(ctx context.Context, method string, path string, params interface{}, res interface{}, opts ...option.RequestOption) error
Execute makes a request with the given context, method, URL, request params, response, and request options. This is useful for hitting undocumented endpoints while retaining the base URL, auth, retries, and other options from the client.
If a byte slice or an io.Reader is supplied to params, it will be used as-is for the request body.
The params is by default serialized into the body using encoding/json. If your type implements a MarshalJSON function, it will be used instead to serialize the request. If a URLQuery method is implemented, the returned [url.Values] will be used as query strings to the url.
If your params struct uses param.Field, you must provide either [MarshalJSON], [URLQuery], and/or [MarshalForm] functions. It is undefined behavior to use a struct uses param.Field without specifying how it is serialized.
Any "…Params" object defined in this library can be used as the request argument. Note that 'path' arguments will not be forwarded into the url.
The response body will be deserialized into the res variable, depending on its type:
- A pointer to a *http.Response is populated by the raw response.
- A pointer to a byte array will be populated with the contents of the request body.
- A pointer to any other type uses this library's default JSON decoding, which respects UnmarshalJSON if it is defined on the type.
- A nil value will not read the response body.
For even greater flexibility, see option.WithResponseInto and option.WithResponseBodyInto.
func (*Client) Get ¶
func (r *Client) Get(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error
Get makes a GET request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Patch ¶
func (r *Client) Patch(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error
Patch makes a PATCH request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Post ¶
func (r *Client) Post(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error
Post makes a POST request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
type OrderAmount ¶
type OrderAmount = shared.OrderAmount
The subtotal and shipping amounts of the order.
This is an alias to an internal type.
type OrderGetResponse ¶
type OrderGetResponse struct {
// An order from the Terminal shop.
Data shared.Order `json:"data,required"`
JSON orderGetResponseJSON `json:"-"`
}
func (*OrderGetResponse) UnmarshalJSON ¶
func (r *OrderGetResponse) UnmarshalJSON(data []byte) (err error)
type OrderListResponse ¶
type OrderListResponse struct {
// List of orders.
Data []shared.Order `json:"data,required"`
JSON orderListResponseJSON `json:"-"`
}
func (*OrderListResponse) UnmarshalJSON ¶
func (r *OrderListResponse) UnmarshalJSON(data []byte) (err error)
type OrderNewResponse ¶
type OrderNewResponse struct {
// An order from the Terminal shop.
Data shared.Order `json:"data,required"`
JSON orderNewResponseJSON `json:"-"`
}
func (*OrderNewResponse) UnmarshalJSON ¶
func (r *OrderNewResponse) UnmarshalJSON(data []byte) (err error)
type OrderService ¶
type OrderService struct {
Options []option.RequestOption
}
OrderService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewOrderService method instead.
func NewOrderService ¶
func NewOrderService(opts ...option.RequestOption) (r *OrderService)
NewOrderService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*OrderService) Get ¶
func (r *OrderService) Get(ctx context.Context, id string, opts ...option.RequestOption) (res *OrderGetResponse, err error)
Get the order with the given ID.
func (*OrderService) List ¶
func (r *OrderService) List(ctx context.Context, opts ...option.RequestOption) (res *OrderListResponse, err error)
List the orders associated with the current user.
func (*OrderService) New ¶
func (r *OrderService) New(ctx context.Context, opts ...option.RequestOption) (res *OrderNewResponse, err error)
Create an order from the current user's cart.
type OrderShipping ¶
type OrderShipping = shared.OrderShipping
Shipping address of the order.
This is an alias to an internal type.
type OrderTracking ¶
type OrderTracking = shared.OrderTracking
Tracking information of the order.
This is an alias to an internal type.
type ProductListResponse ¶
type ProductListResponse struct {
// A list of products.
Data []shared.Product `json:"data,required"`
JSON productListResponseJSON `json:"-"`
}
func (*ProductListResponse) UnmarshalJSON ¶
func (r *ProductListResponse) UnmarshalJSON(data []byte) (err error)
type ProductService ¶
type ProductService struct {
Options []option.RequestOption
}
ProductService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewProductService method instead.
func NewProductService ¶
func NewProductService(opts ...option.RequestOption) (r *ProductService)
NewProductService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*ProductService) List ¶
func (r *ProductService) List(ctx context.Context, opts ...option.RequestOption) (res *ProductListResponse, err error)
List all products for sale in the Terminal shop.
type ProductSubscription ¶
type ProductSubscription = shared.ProductSubscription
Whether the product must be or can be subscribed to.
This is an alias to an internal type.
type ProductVariant ¶
type ProductVariant = shared.ProductVariant
Variant of a product in the Terminal shop.
This is an alias to an internal type.
type Subscription ¶
type Subscription = shared.Subscription
Subscription to a Terminal shop product.
This is an alias to an internal type.
type SubscriptionDeleteResponse ¶
type SubscriptionDeleteResponse struct {
Data SubscriptionDeleteResponseData `json:"data,required"`
JSON subscriptionDeleteResponseJSON `json:"-"`
}
func (*SubscriptionDeleteResponse) UnmarshalJSON ¶
func (r *SubscriptionDeleteResponse) UnmarshalJSON(data []byte) (err error)
type SubscriptionDeleteResponseData ¶
type SubscriptionDeleteResponseData string
const (
SubscriptionDeleteResponseDataOk SubscriptionDeleteResponseData = "ok"
)
func (SubscriptionDeleteResponseData) IsKnown ¶
func (r SubscriptionDeleteResponseData) IsKnown() bool
type SubscriptionFrequency ¶
type SubscriptionFrequency = shared.SubscriptionFrequency
Frequency of the subscription.
This is an alias to an internal type.
type SubscriptionListResponse ¶
type SubscriptionListResponse struct {
// List of subscriptions.
Data []shared.Subscription `json:"data,required"`
JSON subscriptionListResponseJSON `json:"-"`
}
func (*SubscriptionListResponse) UnmarshalJSON ¶
func (r *SubscriptionListResponse) UnmarshalJSON(data []byte) (err error)
type SubscriptionNewParams ¶
type SubscriptionNewParams struct {
// Subscription to a Terminal shop product.
Subscription shared.SubscriptionParam `json:"subscription,required"`
}
func (SubscriptionNewParams) MarshalJSON ¶
func (r SubscriptionNewParams) MarshalJSON() (data []byte, err error)
type SubscriptionNewResponse ¶
type SubscriptionNewResponse struct {
Data SubscriptionNewResponseData `json:"data,required"`
JSON subscriptionNewResponseJSON `json:"-"`
}
func (*SubscriptionNewResponse) UnmarshalJSON ¶
func (r *SubscriptionNewResponse) UnmarshalJSON(data []byte) (err error)
type SubscriptionNewResponseData ¶
type SubscriptionNewResponseData string
const (
SubscriptionNewResponseDataOk SubscriptionNewResponseData = "ok"
)
func (SubscriptionNewResponseData) IsKnown ¶
func (r SubscriptionNewResponseData) IsKnown() bool
type SubscriptionParam ¶
type SubscriptionParam = shared.SubscriptionParam
Subscription to a Terminal shop product.
This is an alias to an internal type.
type SubscriptionService ¶
type SubscriptionService struct {
Options []option.RequestOption
}
SubscriptionService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewSubscriptionService method instead.
func NewSubscriptionService ¶
func NewSubscriptionService(opts ...option.RequestOption) (r *SubscriptionService)
NewSubscriptionService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*SubscriptionService) Delete ¶
func (r *SubscriptionService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *SubscriptionDeleteResponse, err error)
Cancel a subscription for the current user.
func (*SubscriptionService) List ¶
func (r *SubscriptionService) List(ctx context.Context, opts ...option.RequestOption) (res *SubscriptionListResponse, err error)
List the subscriptions associated with the current user.
func (*SubscriptionService) New ¶
func (r *SubscriptionService) New(ctx context.Context, body SubscriptionNewParams, opts ...option.RequestOption) (res *SubscriptionNewResponse, err error)
Create a subscription for the current user.
type UserInitResponse ¶
type UserInitResponse struct {
// Initial app data.
Data UserInitResponseData `json:"data,required"`
JSON userInitResponseJSON `json:"-"`
}
func (*UserInitResponse) UnmarshalJSON ¶
func (r *UserInitResponse) UnmarshalJSON(data []byte) (err error)
type UserInitResponseData ¶
type UserInitResponseData struct {
Addresses []shared.Address `json:"addresses,required"`
Cards []shared.Card `json:"cards,required"`
// The current Terminal shop user's cart.
Cart shared.Cart `json:"cart,required"`
Orders []shared.Order `json:"orders,required"`
Products []shared.Product `json:"products,required"`
Subscriptions []shared.Subscription `json:"subscriptions,required"`
// A Terminal shop user. (We have users, btw.)
User shared.User `json:"user,required"`
JSON userInitResponseDataJSON `json:"-"`
}
Initial app data.
func (*UserInitResponseData) UnmarshalJSON ¶
func (r *UserInitResponseData) UnmarshalJSON(data []byte) (err error)
type UserMeResponse ¶
type UserMeResponse struct {
// A Terminal shop user. (We have users, btw.)
Data shared.User `json:"data,required"`
JSON userMeResponseJSON `json:"-"`
}
func (*UserMeResponse) UnmarshalJSON ¶
func (r *UserMeResponse) UnmarshalJSON(data []byte) (err error)
type UserService ¶
type UserService struct {
Options []option.RequestOption
}
UserService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewUserService method instead.
func NewUserService ¶
func NewUserService(opts ...option.RequestOption) (r *UserService)
NewUserService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*UserService) Init ¶
func (r *UserService) Init(ctx context.Context, opts ...option.RequestOption) (res *UserInitResponse, err error)
Get initial app data, including user, products, cart, addresses, cards, subscriptions, and orders.
func (*UserService) Me ¶
func (r *UserService) Me(ctx context.Context, opts ...option.RequestOption) (res *UserMeResponse, err error)
Get the current user.
func (*UserService) Update ¶
func (r *UserService) Update(ctx context.Context, body UserUpdateParams, opts ...option.RequestOption) (res *UserUpdateResponse, err error)
Update the current user.
type UserUpdateParams ¶
type UserUpdateParams struct {
// Email address of the user.
Email param.Field[string] `json:"email"`
// Name of the user.
Name param.Field[string] `json:"name"`
}
func (UserUpdateParams) MarshalJSON ¶
func (r UserUpdateParams) MarshalJSON() (data []byte, err error)
type UserUpdateResponse ¶
type UserUpdateResponse struct {
// A Terminal shop user. (We have users, btw.)
Data shared.User `json:"data,required"`
JSON userUpdateResponseJSON `json:"-"`
}
func (*UserUpdateResponse) UnmarshalJSON ¶
func (r *UserUpdateResponse) UnmarshalJSON(data []byte) (err error)