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.

52 lines (51 loc) 1.75 kB
/** * @fileoverview Client for querying reviews in the Sharetribe Marketplace API. * * Use this to fetch your own reviews or reviews for listings you own. * Only returns reviews the current user is authorized to see. * * @see https://www.sharetribe.com/api-reference/marketplace.html#reviews */ import type { AxiosResponse } from "axios"; import MarketplaceApi from "./index"; import { ReviewsQueryParameter, ReviewsResponse, ReviewsShowParameter } from "../../types"; /** * Reviews API client (own reviews only) */ declare class Reviews { readonly authRequired = true; private readonly axios; private readonly endpoint; private readonly headers; constructor(api: MarketplaceApi); /** * Fetch a single review by ID * * @template P * @param {P & ReviewsShowParameter} params * @returns {Promise<AxiosResponse<ReviewsResponse<"show", P>>>} * * @example * const { data } = await sdk.reviews.show({ id: "rev-abc123" }); */ show<P extends ReviewsShowParameter>(params: P): Promise<AxiosResponse<ReviewsResponse<"show", P, { expand: true; }>>>; /** * Query your own reviews or reviews for your listings * * @template P * @param {P & ReviewsQueryParameter} params * @returns {Promise<AxiosResponse<ReviewsResponse<"query", P>>>} * * @example * // All reviews you've received * const { data } = await sdk.reviews.query({ subjectId: "current" }); * * @example * // Reviews for one of your listings * await sdk.reviews.query({ listingId: "listing-abc123" }); */ query<P extends ReviewsQueryParameter>(params: P): Promise<AxiosResponse<ReviewsResponse<"query", P>>>; } export default Reviews;