/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { priceUnitsCreatePriceUnit } from "../funcs/price-units-create-price-unit.js"; import { priceUnitsDeletePriceUnit } from "../funcs/price-units-delete-price-unit.js"; import { priceUnitsGetPriceUnitByCode } from "../funcs/price-units-get-price-unit-by-code.js"; import { priceUnitsGetPriceUnit } from "../funcs/price-units-get-price-unit.js"; import { priceUnitsListPriceUnits } from "../funcs/price-units-list-price-units.js"; import { priceUnitsQueryPriceUnit } from "../funcs/price-units-query-price-unit.js"; import { priceUnitsUpdatePriceUnit } from "../funcs/price-units-update-price-unit.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { unwrapAsync } from "../types/fp.js"; import * as models from "./models/index.js"; export class PriceUnits extends ClientSDK { /** * List price units * * @remarks * Use when listing price units (e.g. in a catalog or when creating prices). Returns a paginated list; supports status, sort, and pagination. */ async listPriceUnits( request?: models.ListPriceUnitsRequest | undefined, options?: RequestOptions, ): Promise { return unwrapAsync(priceUnitsListPriceUnits( this, request, options, )); } /** * Create price unit * * @remarks * Use when defining a new unit of measure for pricing (e.g. GB, API call, seat). Ideal for metered or usage-based prices. */ async createPriceUnit( request: models.CreatePriceUnitRequest, options?: RequestOptions, ): Promise { return unwrapAsync(priceUnitsCreatePriceUnit( this, request, options, )); } /** * Get price unit by code * * @remarks * Use when resolving a price unit by code (e.g. from an external catalog or config). Ideal for integrations. */ async getPriceUnitByCode( code: string, options?: RequestOptions, ): Promise { return unwrapAsync(priceUnitsGetPriceUnitByCode( this, code, options, )); } /** * Query price units * * @remarks * Use when searching or listing price units (e.g. admin catalog). Returns a paginated list; supports filtering and sorting. */ async queryPriceUnit( request: models.PriceUnitFilter, options?: RequestOptions, ): Promise { return unwrapAsync(priceUnitsQueryPriceUnit( this, request, options, )); } /** * Get price unit * * @remarks * Use when you need to load a single price unit (e.g. for display or when creating a price). */ async getPriceUnit( id: string, options?: RequestOptions, ): Promise { return unwrapAsync(priceUnitsGetPriceUnit( this, id, options, )); } /** * Update price unit * * @remarks * Use when renaming or updating metadata for a price unit. Code is immutable once created. */ async updatePriceUnit( id: string, body: models.UpdatePriceUnitRequest, options?: RequestOptions, ): Promise { return unwrapAsync(priceUnitsUpdatePriceUnit( this, id, body, options, )); } /** * Delete price unit * * @remarks * Use when removing a price unit that is no longer needed. Fails if any price references this unit. */ async deletePriceUnit( id: string, options?: RequestOptions, ): Promise { return unwrapAsync(priceUnitsDeletePriceUnit( this, id, options, )); } }