V8 custom formulas

From DreamFactory
Jump to: navigation, search
DreamFactoryTutorialsV8 custom formulas
 
Line 2: Line 2:
 
price and tax_rate are stored in a database, total is not.  
 
price and tax_rate are stored in a database, total is not.  
  
This is a post process script that alters the response.For this change to take effect, you have to enable modification of response in the Admin Console script editor.
+
This is a post process script that alters the response.
 +
 
 +
For this change to take effect, you have to enable modification of response in the Admin Console script editor.
 
Check the box 'Allow script to modify request (pre-process) or response (post-process)'.
 
Check the box 'Allow script to modify request (pre-process) or response (post-process)'.
  

Latest revision as of 22:02, 15 July 2016

Make a field automatically be a mathematical result. Return 'total' as JSON key with value 'price' * 'tax_rate'. price and tax_rate are stored in a database, total is not.

This is a post process script that alters the response.

For this change to take effect, you have to enable modification of response in the Admin Console script editor. Check the box 'Allow script to modify request (pre-process) or response (post-process)'.

var lodash = require('lodash.min.js');
 
lodash._.each(event.response.content.resource, function (record) {
 
    if (!record.tax) {
 
        throw "Tax is required!";
    }
 
    if (!record.price) {
 
        throw "Price is required!";
    }
 
    record.total = (parseFloat(record.tax) * parseFloat(record.price) / 100) + parseFloat(record.price);
});