api-transaction-rollback
A module that provides an automatic rollback feature should any API call within series of API calls (transaction) throw an error.
Installation
To install using npm:
npm install api-transaction-rollback
To use, simply require('api-transaction-rollback')
near the beginning of your node code.
Documentation
Basic Example
const request = ;let transaction = ; exportsapiCallChain = async { let Transaction = transaction; // formulate api calls - each with a do and undo function let successExecutable = { return await { let options = url: 'http://www.mocky.io/v2/5b9f5e8d3000003900e28c9b' request; }; } { // args will contain the object resolved by the above 'do' method return await { let options = url: 'http://www.mocky.io/v2/5b9f5e8d3000003900e28c9b' request; }; } let failureExecutable = { return await { let options = url: 'http://www.mocky.io/v2/5b9f5f8d3000001000e28ca4' request; }; } { return await { let options = url: 'http://www.mocky.io/v2/5b9f5e8d3000003900e28c9b' request; }; } // add calls to transaction and run Transaction; Transaction; Transaction; Transaction; Transaction; // should break here already - 'reverse executable should be printed 4x' Transaction; // won't be entering here Transaction; // finally executes transaction await Transaction; return 'done';}