import { LegacyItemProperties } from "../legacyTypes";
import { ItemProperties } from "../typings";

/**
 * Maps LegacyItemProperties to ItemProperties
 * @param legacyProperties - The legacy item properties
 * @returns The new item properties format
 */
export const itemPropertiesMapper = (
  legacyProperties: LegacyItemProperties
): ItemProperties => {
  return {
    action: legacyProperties.action,
    item: {
      id: legacyProperties.item.id,
      type: legacyProperties.item.type,
      quantity: legacyProperties.item.quantity,
      price: legacyProperties.item.price/legacyProperties.item.quantity, // Convert total price to unit price
      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,
      search_id: legacyProperties.search_id,
    },
  };
};
