UNPKG

generator-bingo-dig-h5

Version:

Bingo-dig-h5 generator by BINGO.DIG

98 lines (86 loc) 2.62 kB
var request = require('superagent'); var UniqueId = require('./unique-id'); var Convert = require('./convert'); var dbAddress = ''; var formatResponse = function(resp, error, retrunDataType) { var result = {}; var dmsReturnObj = {}; if (resp && resp.ok) { dmsReturnObj = Convert.jsonToObj(resp.text); result.ok = true; result.status = dmsReturnObj.resultCode; result.statusText = dmsReturnObj.resultDesc; result.affectedRows = dmsReturnObj.affectedRows; result.RowsCount = dmsReturnObj.rows.length; result.data = formatReturnData(dmsReturnObj.columnNames, dmsReturnObj.rows, retrunDataType); } else{ result.ok = false; result.status = resp ? resp.status : 0; result.statusText = resp ? resp.statusText : 'ERR_CONNECTION_TIMED_OUT'; result.affectedRows = -1; result.RowsCount = 0; result.data = null; } return result; } var formatReturnData = function(columnNames, rows, retrunDataType) { var returnArr = []; var type = retrunDataType || 'obj'; for (var i = 0; i < rows.length; i++) { var obj = {}; for (var j = 0; j < columnNames.length; j++) { obj[columnNames[j]] = rows[i][j]; } if (type === 'obj') { returnArr.push(obj); } else{ returnArr.push(Convert.objToJson(obj)); } } return returnArr; } module.exports = { setDbAddress: function(dbAddressPara) { dbAddress = dbAddressPara; }, getDataWithParamsForJson: function(commandName, params, callback){ this.post(commandName, params, function(res, err){ var result = formatResponse(res, err, 'json'); callback(result); }); }, getDataWithParams: function(commandName, params, callback){ this.post(commandName, params, function(res, err){ var result = formatResponse(res, err, 'obj'); callback(result); }); }, getDataForJson: function(commandName, callback){ this.post(commandName, null, function(res, err){ var result = formatResponse(res, err, 'json'); callback(result); }); }, getData: function(commandName, callback){ this.post(commandName, null, function(res, err){ var result = formatResponse(res, err, 'obj'); callback(result); }); }, post: function(commandName, params, callback){ var obj = {}; obj.RequestId = UniqueId.generate(); obj.PrincipalId = null; obj.CommandName = commandName; obj.Params = Convert.jsonToObj(params); obj = Convert.objToJson(obj); request.post(dbAddress) .accept('json') .send(obj) .end(function(err, res){ callback(res, err); }); } }