Vue Storefront is now Alokai! Learn More
GetProductReviews

GetProductReviews

Implements GetProductReviews Unified Method.

Source

import { getNormalizers } from "@alokai/connect/integration-kit";
import type { ProductReview } from "@vsf-enterprise/bigcommerce-api";

import { defineApi } from "@vsf-enterprise/unified-api-bigcommerce";

export const getProductReviews = defineApi.getProductReviews(async (context, args) => {
  const { normalizePagination, normalizeProductReview } = getNormalizers(context);

  const { api } = await context.getApiClient();
  const data = await api.getProductReviewCollection(
    {
      productId: Number.parseInt(args.productId),
    },
    {
      limit: args.pageSize,
      page: args.currentPage,
    },
  );

  return {
    pagination: normalizePagination(data?.meta?.pagination ?? {}),
    reviews: data.data.map((element: ProductReview) => normalizeProductReview(element)),
  };
});