/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { productsCreate } from "../funcs/productsCreate.js"; import { productsDisable } from "../funcs/productsDisable.js"; import { productsGet } from "../funcs/productsGet.js"; import { productsList } from "../funcs/productsList.js"; import { productsUpdate } from "../funcs/productsUpdate.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as operations from "../models/operations/index.js"; import { unwrapAsync } from "../types/fp.js"; export class Products extends ClientSDK { /** * List active (non-disabled) products for an account. */ async list( request: operations.ListProductsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(productsList( this, request, options, )); } /** * Creates a new product for the specified account. */ async create( request: operations.CreateProductRequest, options?: RequestOptions, ): Promise { return unwrapAsync(productsCreate( this, request, options, )); } /** * Retrieve a product by ID. */ async get( request: operations.GetProductRequest, options?: RequestOptions, ): Promise { return unwrapAsync(productsGet( this, request, options, )); } /** * Update a product and its options. */ async update( request: operations.UpdateProductRequest, options?: RequestOptions, ): Promise { return unwrapAsync(productsUpdate( this, request, options, )); } /** * Disable a product by ID. * * The product will no longer be available, but will remain in the system for historical and reporting purposes. */ async disable( request: operations.DisableProductRequest, options?: RequestOptions, ): Promise { return unwrapAsync(productsDisable( this, request, options, )); } }