oracle-cg-lib
Version:
Library to connect and execute query's normal or in bulk in oracle databases
39 lines (34 loc) • 1.26 kB
JavaScript
const { constants, log, helpers } = require('utils-nxg-cg');
const { objectDb, extraProps } = require('./objects');
const processQuery = require('./process');
/**
* Method for execute the process of the oracle database
* @param msg
* @param cfg
* @param test
* @returns {Promise<object>}
*/
module.exports.processOracle = async (msg = {}, cfg = {}, test = false) => {
try {
const { data } = msg;
let properties = { ...objectDb };
let extraProp = { ...extraProps };
if (!test && !data) {
throw Error(`${constants.ERROR_PROPERTY} data`);
}
const valid = helpers.validProperties(properties, data, cfg);
if (valid) {
helpers.validProperties(extraProp, data, cfg, true);
properties = { ...properties, ...extraProp };
if (properties.content) {
if (!helpers.isObjectValid(properties.content))
throw Error(constants.ERROR_JSON_FORMAT);
properties.content = helpers.convertToObject(properties.content);
}
return await processQuery(properties);
}
} catch (e) {
log.error(e);
throw Error(e.toString());
}
};