Vue Storefront is now Alokai! Learn More
GetProductDetails

GetProductDetails

Implements GetProductDetails Unified Method.

Source

import { assignToNormalizerContext, getNormalizers } from "@alokai/connect/integration-kit";

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

export const getProductDetails = defineApi.getProductDetails(async (context, args) => {
  const product = await getProduct(context, args);
  const categories = product.masterData.current?.categories || [];
  assignToNormalizerContext(context, { sku: args.sku });

  const { normalizeCategory, normalizeProduct } = getNormalizers(context);

  return {
    categoryHierarchy: categories.map((category) => normalizeCategory(category)),
    product: normalizeProduct(product),
  };
});