UNPKG

@open-tender/utils

Version:

A library of utils for use with Open Tender applications that utilize our cloud-based Order API.

34 lines (33 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getLastOrder = exports.makeCustomerProfile = exports.profileFields = void 0; const date_fns_1 = require("date-fns"); const helpers_1 = require("./helpers"); exports.profileFields = [ 'customer_id', 'first_name', 'last_name', 'email', 'phone', 'company', 'birth_date', 'is_verified', 'is_notification_set' ]; const makeCustomerProfile = (customer) => { return exports.profileFields.reduce((obj, field) => (Object.assign(Object.assign({}, obj), { [field]: field === 'birth_date' ? (0, helpers_1.dashesToSlashes)(customer[field]) : customer[field] })), {}); }; exports.makeCustomerProfile = makeCustomerProfile; const getLastOrder = (orders) => { if (!orders || !orders.length) return null; const withCreated = orders .filter(i => i.order_type !== 'MERCH') .map(i => (Object.assign(Object.assign({}, i), { createdAt: (0, date_fns_1.parseISO)(i.created_at) }))) .sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime()) .reverse(); return withCreated[0]; }; exports.getLastOrder = getLastOrder;