var findCoordinates = function(consumerCode, callback) { poolPg.connect(function(err, client, done) { if (err) { console.log("não capaz de realizar a conexão com o banco de dados" + err); res.status(400).send(err); } client.query("SET search_path TO public, sc_mbc, gw_saa", function( err1, result ) { // definição do schema em que irá realizar as queries if (err1) { console.log("Não foi capaz de mudar o schema " + err1); res.status(400).send(err1); } }); var qrySql = "select gw_saa.connec.connec_id, \ ST_X(ST_Transform(gw_saa.connec.the_geom,4326)) as zoom_x, \ ST_Y(ST_Transform(gw_saa.connec.the_geom,4326)) as zoom_y, \ gw_saa.connec.state, gw_saa.connec.sector_id, gw_saa.connec.dma_id, gw_saa.connec.category_type \ from gw_saa.connec \ inner join gw_saa.rtc_hydrometer_x_connec \ on gw_saa.connec.connec_id = gw_saa.rtc_hydrometer_x_connec.connec_id \ where gw_saa.rtc_hydrometer_x_connec.hydrometer_id = '" + consumerCode + "'"; client.query(qrySql, function(err1, result) { if (err1) { console.log( "não capaz de realizar a querie com o banco de dados" + err1 ); res.status(400).send(err1); } if (result.rowCount === 0) { console.log("não encontrou"); } else { centro_x = result.rows[0]["zoom_x"]; centro_y = result.rows[0]["zoom_y"]; done(); //fecha a conexão return callback(centro_x, centro_y); } }); }); }; module.exports = findCoordinates;