0.1.0 • Published 5 years ago
transaction-management v0.1.0
Transaction Management
Each transaction must succeed or fail as a complete unit. Transaction can never be partially complete. Transaction processes includes placeorder, calculate total, update coupon usage, charge vendor processing fee, and charge credit card.
Installation
npm install transaction-management --save
Usage
var transact = require('transaction-management');
transact.executeTransaction( placeOrder() );
function *placeOrder() {
yield transact.calculateTotal(orderId);
yield transact.updateCoupon(couponNumber);
yield transact.chargeVendorFee();
yield transact.chargeCreditCard(ccNumber);
yield transact.saveOrder(orderId);
}
//=>
Attempting to calculate total for order ${orderId}... Failed/Succeeded.
Attempting to update coupon ${couponNumber}... Failed/Succeeded.
Attempting to charge vendor fee... Failed/Succeeded.
Charging credit card with ccNumber ${ccNumber}... Failed/Succeeded.
Saving order ${orderId}... Failed/Succeeded.
Rolled back credit card charge for ${ccNumber}.
Rolled back vendor charge.
Rolled back coupon ${couponNumber} update.
Rolled back order ${orderId} total calculation.
License
ICS
0.1.0
5 years ago