| |
|
|
| import { type Client } from '../core.js' |
| import { unwrap, type RequestOptions } from '../lib/types.js' |
| import { paginatePages } from '../lib/paginate.js' |
| import { |
| createSubscription, |
| listSubscriptions, |
| getSubscription, |
| cancelSubscription, |
| unscheduleCancelation, |
| changeSubscription, |
| listSubscriptionAddons, |
| getSubscriptionAddon, |
| } from '../funcs/subscriptions.js' |
| import type { |
| CreateSubscriptionRequest, |
| CreateSubscriptionResponse, |
| ListSubscriptionsRequest, |
| ListSubscriptionsResponse, |
| GetSubscriptionRequest, |
| GetSubscriptionResponse, |
| CancelSubscriptionRequest, |
| CancelSubscriptionResponse, |
| UnscheduleCancelationRequest, |
| UnscheduleCancelationResponse, |
| ChangeSubscriptionRequest, |
| ChangeSubscriptionResponse, |
| ListSubscriptionAddonsRequest, |
| ListSubscriptionAddonsResponse, |
| GetSubscriptionAddonRequest, |
| GetSubscriptionAddonResponse, |
| } from '../models/operations/subscriptions.js' |
| import type { Subscription, SubscriptionAddon } from '../models/types.js' |
|
|
| export class Subscriptions { |
| constructor(private readonly _client: Client) {} |
|
|
| |
| |
| |
| |
| |
| async create( |
| request: CreateSubscriptionRequest, |
| options?: RequestOptions, |
| ): Promise<CreateSubscriptionResponse> { |
| return unwrap(await createSubscription(this._client, request, options)) |
| } |
|
|
| |
| |
| |
| |
| |
| async list( |
| request?: ListSubscriptionsRequest, |
| options?: RequestOptions, |
| ): Promise<ListSubscriptionsResponse> { |
| return unwrap(await listSubscriptions(this._client, request, options)) |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| listAll( |
| request?: ListSubscriptionsRequest, |
| options?: RequestOptions, |
| ): AsyncIterable<Subscription> { |
| return paginatePages( |
| (req, opts) => listSubscriptions(this._client, req, opts), |
| request ?? {}, |
| options, |
| ) |
| } |
|
|
| |
| |
| |
| |
| |
| async get( |
| request: GetSubscriptionRequest, |
| options?: RequestOptions, |
| ): Promise<GetSubscriptionResponse> { |
| return unwrap(await getSubscription(this._client, request, options)) |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| async cancel( |
| request: CancelSubscriptionRequest, |
| options?: RequestOptions, |
| ): Promise<CancelSubscriptionResponse> { |
| return unwrap(await cancelSubscription(this._client, request, options)) |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| async unscheduleCancelation( |
| request: UnscheduleCancelationRequest, |
| options?: RequestOptions, |
| ): Promise<UnscheduleCancelationResponse> { |
| return unwrap(await unscheduleCancelation(this._client, request, options)) |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| async change( |
| request: ChangeSubscriptionRequest, |
| options?: RequestOptions, |
| ): Promise<ChangeSubscriptionResponse> { |
| return unwrap(await changeSubscription(this._client, request, options)) |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| async listAddons( |
| request: ListSubscriptionAddonsRequest, |
| options?: RequestOptions, |
| ): Promise<ListSubscriptionAddonsResponse> { |
| return unwrap(await listSubscriptionAddons(this._client, request, options)) |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| listAddonsAll( |
| request: ListSubscriptionAddonsRequest, |
| options?: RequestOptions, |
| ): AsyncIterable<SubscriptionAddon> { |
| return paginatePages( |
| (req, opts) => listSubscriptionAddons(this._client, req, opts), |
| request, |
| options, |
| ) |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| async getAddon( |
| request: GetSubscriptionAddonRequest, |
| options?: RequestOptions, |
| ): Promise<GetSubscriptionAddonResponse> { |
| return unwrap(await getSubscriptionAddon(this._client, request, options)) |
| } |
| } |
|
|