Calculate the differences between two customer objects and build the update actions as defined in http://dev.sphere.io/http-api-projects-customers.html.
npm install --save build-actions
This module exports a single function that takes two arguments:
- An object representing a customer.
- An object representing the updated version of the same customer.
The function returns an array of update actions.
var buildActions = require('build-actions');
var before = {
email: 'foo.bar@domain.com',
firstName: 'foo',
lastName: 'bar',
addresses: []
};
var after = {
customerNumber: '123456',
email: 'foobar@domain.com',
firstName: 'foo',
lastName: 'bar',
middleName: 'baz',
addresses: [{
id: 'FjAJrc2C',
country: 'NL'
}],
defaultShippingAddressId: 'FjAJrc2C'
};
var actions = buildActions(before, after);
console.log(actions);
/*
[{
action: 'changeEmail',
email: 'foobar@domain.com'
}, {
action: 'addAddress',
address: {
id: 'FjAJrc2C',
country: 'NL'
}
}, {
action: 'setCustomerNumber',
customerNumber: '123456'
}, {
action: 'changeName',
firstName: 'foo',
lastName: 'bar',
middleName: 'baz'
}, {
action: 'setDefaultShippingAddress',
addressId: 'FjAJrc2C'
}]
*/