import { LegacyCartProperties } from "../legacyTypes";
import { CartProperties } from "../typings";

/**
 * Maps LegacyCartProperties to CartProperties
 * @param legacyProperties - The legacy cart properties
 * @returns The new cart properties format
 */
export const cartPropertiesMapper = (
  legacyProperties: LegacyCartProperties
): CartProperties => {
  return {
    cart_id: legacyProperties.id,
    action: legacyProperties.action,
    item: {
      id: legacyProperties.item.id,
      type: legacyProperties.item.type,
      quantity: legacyProperties.item.quantity,
      price: legacyProperties.item.price/legacyProperties.item.quantity,
      currency: legacyProperties.item.currency,
      stock_status: legacyProperties.item.stock_status,
      promo_id: legacyProperties.item.promo_id,
      facility_id: legacyProperties.item.facility_id,
      discount: legacyProperties.item.discount,
    },
    meta: legacyProperties.meta,
  };
};
