UNPKG

@progtechbr/n8n-nodes-rdsme

Version:

Send events through API to RD Station Marketing para Ecommerce

45 lines (38 loc) 1.39 kB
import { isEmpty } from 'validator'; export const buildLineItems = (lineItems: any) => { const productItems = lineItems.productItems; const countProductItems = productItems?.length || 0; const items = []; let categories; for(let i = 0; i < countProductItems; i++) { categories = productItems[i].categories.toString().split(',').filter((category: string) => !isEmpty(category.trim())); let productId = productItems[i].productId.toString().trim(); let productTitle = productItems[i].productTitle.toString().trim(); let productUrl = productItems[i].productUrl.toString().trim(); let variantId = productItems[i].variantId.toString().trim(); let variantTitle = productItems[i].variantTitle.toString().trim(); let sku = productItems[i].sku.toString().trim(); let price = productItems[i].price; let quantity = productItems[i].quantity; let imageUrl = productItems[i].imageUrl.toString().trim(); if(isEmpty(variantId)) { variantId = productId; } if(isEmpty(variantTitle)) { variantTitle = productTitle; } items.push({ product_id: productId, product_title: productTitle, variant_id: variantId, variant_title: variantTitle, price, quantity, ...(!isEmpty(productUrl) && { product_url: productUrl }), ...(!isEmpty(sku) && { sku }), ...(!isEmpty(imageUrl) && { image_url: imageUrl }), categories, }); } return items; }