import { LegacyCheckoutProperties } from "../legacyTypes";
import { CheckoutProperties } from "../typings";

/**
 * Maps LegacyCheckoutProperties to CheckoutProperties
 * @param legacyProperties - The legacy checkout properties
 * @returns The new checkout properties format
 */
export const checkoutEventMapper = (
  legacyProperties: LegacyCheckoutProperties
): CheckoutProperties => {
  return {
    order_id: legacyProperties.id,
    is_successful: legacyProperties.is_successful,
    cart_price: legacyProperties.cart_price,
    items: legacyProperties.items.map((item) => ({
      id: item.id,
      type: item.type,
      quantity: item.quantity,
      price: item.price/item.quantity,
      currency: item.currency,
      stock_status: item.stock_status,
      promo_id: item.promo_id,
      facility_id: item.facility_id,
      discount: item.discount,
    })),
    cart_id: legacyProperties.cart_id,
    shop_mode: legacyProperties.shop_mode,
    meta: legacyProperties.meta,
  };
};
