/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { subscriptionsCreate } from "../funcs/subscriptionsCreate.js"; import { ExportAcceptEnum, subscriptionsExport, } from "../funcs/subscriptionsExport.js"; import { subscriptionsGet } from "../funcs/subscriptionsGet.js"; import { subscriptionsList } from "../funcs/subscriptionsList.js"; import { subscriptionsRevoke } from "../funcs/subscriptionsRevoke.js"; import { subscriptionsUpdate } from "../funcs/subscriptionsUpdate.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { Subscription } from "../models/components/subscription.js"; import { SubscriptionsCreateSubscriptionCreate } from "../models/operations/subscriptionscreate.js"; import { SubscriptionsExportRequest, SubscriptionsExportResponse, } from "../models/operations/subscriptionsexport.js"; import { SubscriptionsGetRequest } from "../models/operations/subscriptionsget.js"; import { SubscriptionsListRequest, SubscriptionsListResponse, } from "../models/operations/subscriptionslist.js"; import { SubscriptionsRevokeRequest } from "../models/operations/subscriptionsrevoke.js"; import { SubscriptionsUpdateRequest } from "../models/operations/subscriptionsupdate.js"; import { unwrapAsync } from "../types/fp.js"; import { PageIterator, unwrapResultIterator } from "../types/operations.js"; export { ExportAcceptEnum } from "../funcs/subscriptionsExport.js"; export class Subscriptions extends ClientSDK { /** * List Subscriptions * * @remarks * List subscriptions. * * **Scopes**: `subscriptions:read` `subscriptions:write` */ async list( request: SubscriptionsListRequest, options?: RequestOptions, ): Promise> { return unwrapResultIterator(subscriptionsList( this, request, options, )); } /** * Create Subscription * * @remarks * Create a subscription programmatically. * * This endpoint only allows to create subscription on free products. * For paid products, use the checkout flow. * * No initial order will be created and no confirmation email will be sent. * * **Scopes**: `subscriptions:write` */ async create( request: SubscriptionsCreateSubscriptionCreate, options?: RequestOptions, ): Promise { return unwrapAsync(subscriptionsCreate( this, request, options, )); } /** * Export Subscriptions * * @remarks * Export subscriptions as a CSV file. * * **Scopes**: `subscriptions:read` `subscriptions:write` */ async export( request: SubscriptionsExportRequest, options?: RequestOptions & { acceptHeaderOverride?: ExportAcceptEnum }, ): Promise { return unwrapAsync(subscriptionsExport( this, request, options, )); } /** * Get Subscription * * @remarks * Get a subscription by ID. * * **Scopes**: `subscriptions:read` `subscriptions:write` */ async get( request: SubscriptionsGetRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscriptionsGet( this, request, options, )); } /** * Revoke Subscription * * @remarks * Revoke a subscription, i.e cancel immediately. * * **Scopes**: `subscriptions:write` */ async revoke( request: SubscriptionsRevokeRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscriptionsRevoke( this, request, options, )); } /** * Update Subscription * * @remarks * Update a subscription. * * **Scopes**: `subscriptions:write` */ async update( request: SubscriptionsUpdateRequest, options?: RequestOptions, ): Promise { return unwrapAsync(subscriptionsUpdate( this, request, options, )); } }