@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
JavaScript
;
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;