.then(function(member) { if (member.memberId) { // IDs starting with '2-' from TheyWorkForYou. member._id = '2-'+member.memberId; } else { // IDs starting with '0-' are internal IDs. member._id = '0-'+crypto.createHash('sha1').update( memberName ).digest("hex"); } member.lastUpdated = phpjs.date('Y-m-d'); member.path = '/'+member._id+'/'+phpjs.strtolower( member.name.replace(/ /g, '-').replace(/(--.*)/g, '-').replace(/[^A-z0-9-]/g, '').replace(/-$/, '') ); db.members.save(member, function(err, saved) { deferred2.resolve(member); }); });
.then(function(member) { // If we have valid personId then save to DB if (member.personId) { var deferred2 = Q.defer(); // IDs starting with '1-' are from the offical API. // IDs starting with '2-' come from TheyWorkForYou. member._id = '2-'+member.memberId; member.lastUpdated = phpjs.date('Y-m-d'); member.path = '/'+member._id+'/'+phpjs.strtolower( member.name.replace(/ /g, '-').replace(/(--.*)/g, '-').replace(/[^A-z0-9-]/g, '').replace(/-$/, '') ); db.members.save(member, function(err, saved) { deferred2.resolve(member); }); return deferred2.promise; } else { return member; } })