UNPKG

@vansite/ts-sharetribe-flex-sdk

Version:

This is a TypeScript SDK for Sharetribe Flex API. It reduces the complexity of the API and provides a more user-friendly interface.

92 lines (91 loc) 3.95 kB
/** * @fileoverview Client for managing transactions in the Sharetribe Marketplace API. * * Use this to: * - Query your own transactions * - Initiate new orders/inquiries * - Transition transactions (accept, complete, cancel, etc.) * - Perform speculative transitions (dry-run) * * All operations require authentication. * * @see https://www.sharetribe.com/api-reference/marketplace.html#transactions */ import type { AxiosResponse } from "axios"; import MarketplaceApi from "./index"; import { ExtraParameter, TransactionsInitiateParameter, TransactionsInitiateSpeculativeParameter, TransactionsQueryParameter, TransactionsResponse, TransactionsShowParameter, TransactionsTransitionParameter, TransactionsTransitionSpeculativeParameter } from "../../types"; /** * Transactions API client (current user) */ declare class Transactions { readonly authRequired = true; private readonly axios; private readonly endpoint; private readonly headers; constructor(api: MarketplaceApi); /** * Fetch a single transaction by ID * * @template P * @param {P & TransactionsShowParameter} params * @returns {Promise<AxiosResponse<TransactionsResponse<"show", P>>>} */ show<P extends TransactionsShowParameter>(params: P): Promise<AxiosResponse<TransactionsResponse<"show", P, { expand: true; }>>>; /** * Query your own transactions * * @template P * @param {P & TransactionsQueryParameter} params * @returns {Promise<AxiosResponse<TransactionsResponse<"query", P>>>} */ query<P extends TransactionsQueryParameter>(params?: P): Promise<AxiosResponse<TransactionsResponse<"query", P>>>; /** * Initiate a new transaction (e.g. place an order) * * @template P * @template EP * @param {P & TransactionsInitiateParameter} params * @param {EP} [extraParams] * @returns {Promise<AxiosResponse<TransactionsResponse<"initiate", P, EP>>>} */ initiate<P extends TransactionsInitiateParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<TransactionsResponse<"initiate", P, EP>>>; /** * Initiate a transaction speculatively (dry-run) * * @template P * @template EP * @param {P & TransactionsInitiateSpeculativeParameter} params * @param {EP} [extraParams] * @returns {Promise<AxiosResponse<TransactionsResponse<"initiateSpeculative", P, EP>>>} */ initiateSpeculative<P extends TransactionsInitiateSpeculativeParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<TransactionsResponse<"initiateSpeculative", P, EP>>>; /** * Transition a transaction to a new state * * @template P * @template EP * @param {P & TransactionsTransitionParameter} params * @param {EP} [extraParams] * @returns {Promise<AxiosResponse<TransactionsResponse<"transition", P, EP>>>} * * @example * await sdk.transactions.transition({ * id: "tx-abc123", * transition: "transition/confirm-payment" * }); */ transition<P extends TransactionsTransitionParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<TransactionsResponse<"transition", P, EP>>>; /** * Perform a speculative transition (dry-run) * * @template P * @template EP * @param {P & TransactionsTransitionSpeculativeParameter} params * @param {EP} [extraParams] * @returns {Promise<AxiosResponse<TransactionsResponse<"transitionSpeculative", P, EP>>>} */ transitionSpeculative<P extends TransactionsTransitionSpeculativeParameter, EP extends ExtraParameter | undefined = undefined>(params: P, extraParams?: EP): Promise<AxiosResponse<TransactionsResponse<"transitionSpeculative", P, EP>>>; } export default Transactions;