UNPKG

ilink_updater

Version:

70 lines (65 loc) 2.22 kB
update_param_maker = function (def, objs,db_name) { var D = QUERY_DEFINITIONS[def]; function make_from_single_obj(obj){ function each_table(table) { var updated_obj = {}; var params = _.pairs(table.params); _.each(params, function (param) { if (obj[param[0]]) { updated_obj[param[1]] = obj[param[0]]; } }); params=null; var query = table.query.replace("%=update_id%", "(" + obj_id + ")"); query = query.replace("<%=db_name%>", db_name); full_update_object[table.name] = { update_id: obj_id, name: table.name, query: query, inserted_obj: updated_obj }; query=null; } var full_update_object = {}; _.each(D.tables,each_table); objs_arr.push({object:full_update_object}); full_update_object=null; } if (D) { var objs_arr = []; var obj_id =0; if (!_.isArray(objs)) { obj_id = objs.id; if (obj_id) { make_from_single_obj(objs); } else { var M={ name: 'no_update_id', source: 'data_front/update/' + __line, function: __function, module: 'test' }; pino.error(M); rsmq.sendMessage({qname: "fatal", message: JSON.stringify(M)}, function (err, res) {}); } }else{ obj_id = objs[0].id; if (obj_id) { _.each(objs, make_from_single_obj); } } return objs_arr; }//end if D else { var M={ name: 'query_template_missing', source: 'resolve_query_builder/update/' + __line, function: __function, module: 'test', template: def }; pino.error(M); rsmq.sendMessage({qname: "fatal", message: JSON.stringify(M)}, function (err, res) {}); return 0; } };