js-executor-cg-lib
Version:
Library to execute javascript code
36 lines (28 loc) • 966 B
JavaScript
const { constants, log, helpers } = require('utils-nxg-cg');
const { objectJsExecutor } = require('./objects');
const { transformJsExecutor } = require('./transforms');
/**
* Method for process the data user and execute query single or batch by transactions
* @param msg
* @param cfg
* @param test
* @returns {Promise<array|object>}
*/
const processJsExecutor = async (msg = {}, cfg = {}, test = false) => {
try {
const { data } = msg;
let properties = { ...objectJsExecutor };
if (!test && !data) {
throw Error(`${constants.ERROR_PROPERTY} data`);
}
const valid = await helpers.validProperties(properties, data, cfg);
if (valid) {
const result = await transformJsExecutor(properties, data);
return result;
}
} catch (e) {
log.error(e);
throw Error(e);
}
};
module.exports = { processJsExecutor };