0.1.0 • Published 5 years ago

transaction-management v0.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
5 years ago

Transaction Management

NPM version NPM downloads

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