{"_id":"@autobits/express-mysql-connection","_rev":"2-71340346f2a93f14e7ce420b4383a8af","name":"@autobits/express-mysql-connection","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@autobits/express-mysql-connection","version":"1.0.0","description":"Connect/Express middleware that auto provides mysql connections.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://bitbucket.org/autobotsteam/express-myconnection.git"},"homepage":"http://bitbucket.org/autobotsteam/express-myconnection","keywords":["express","mysql","connect","pool","middleware","autobits"],"author":{"name":"Autobits Systems"},"license":"MIT","gitHead":"e93d830e57022ae7e0c6f0ad89e0ee2fc49db7ba","_id":"@autobits/express-mysql-connection@1.0.0","_npmVersion":"6.4.0","_nodeVersion":"8.9.1","_npmUser":{"name":"awilches","email":"alvaro.jose.w@gmail.com"},"dist":{"integrity":"sha512-j0NIvix37MEYT5KOh0pQ2ku1Zd3QxHvr/86NoMBgCMR2kE8DhSviPV0sOFf/ZVLNu4Un0eHQ9pyIhJ3wxVbYJA==","shasum":"e6906a1511c0ba05136dd8abb6b960c843d5ee74","tarball":"https://registry.npmjs.org/@autobits/express-mysql-connection/-/express-mysql-connection-1.0.0.tgz","fileCount":5,"unpackedSize":22589,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdw0FwCRA9TVsSAnZWagAAb5sP/2DldnjMrNnWWHM8h3vW\nZHCNQWvpVqoYv9dLU4bi+S+R6kvjW4sajg/7iPWBuc82f8UmcXub38nP/mIq\nnVXMB/liIMhoyVS+C8xbGOzSxQCQ+Cq5sxiYrHhG6JLRGZ7p+A+etlN98nj9\nnX4Z7q4SO4/PLkIT/5NEQIHMGYyVq0zOER6fpYIt1zBezRa5BFLvYdbKeS3+\nPpQo7QWWsAeExN6p8v7F0vVUsur++OZVIWoAUxFbWs2eF9lpPXB219xW3VkM\nJCBe9Zmwv9GuD74Q02C+geKjntNhXKhL467MnWYGxjfR7G1UzWfVYl15Zbhw\notWg+Iph7BgGUHP+f5lnGWTbobJNvJHViEoAeYu1rwOCUlUT2YqsZx5IP3K/\nMzO8+/FzVpclaNekNp+2eEC/+jHL9jaGhxmjhwCB9PucfKmKlPw73dMcUrZl\nYAjGnMZk45DFjpqFnKys9vgu9HBXrFBrBkcKPQhI5DJ9Gm+ieRDeVKayZ8/I\nbB0kcN1a1eyJC8hS6/zCdrvoHD2kB3QrZwNVPDnJnsPkGZDRQah0B+AcmnOl\nl/QHA5nckO/OQ0kHR2BxHAIyqYu0OZEE5+Tg4v5T+sd3AUGrJK2gtn9BQmI8\n1QPz25DV36e8p1xWSU8+1/B7EvyxbjBo4bGj7InzacuYyE9yN0HWmPYWCD1K\nyaw7\r\n=KzUa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCB1d4xoGPQfFF8aS9PHli5mvSkh2GWGZL8h71LkJM+QQIgDbyEMjo1QcZTpD4SPsdPJ2Om3yDSwfOgEvB7yP/fFY4="}]},"maintainers":[{"name":"awilches","email":"alvaro.jose.w@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-mysql-connection_1.0.0_1573077360028_0.5733223353782677"},"_hasShrinkwrap":false,"deprecated":"this package has multiple unhandled errors"}},"time":{"created":"2019-11-06T21:55:59.798Z","1.0.0":"2019-11-06T21:56:00.178Z","modified":"2022-04-04T16:35:32.094Z"},"maintainers":[{"name":"awilches","email":"alvaro.jose.w@gmail.com"}],"description":"Connect/Express middleware that auto provides mysql connections.","homepage":"http://bitbucket.org/autobotsteam/express-myconnection","keywords":["express","mysql","connect","pool","middleware","autobits"],"repository":{"type":"git","url":"git+https://bitbucket.org/autobotsteam/express-myconnection.git"},"author":{"name":"Autobits Systems"},"license":"MIT","readme":"This is a Fork of the project https://github.com/pwalczyszyn/express-myconnection\n\nThe only difference from the original one is that this module return promises instad oif callbacks and additionally this module allows to set 2 different mysql connections for the same express API.\nThis fork was required to support simultaneous connections to 2 different mysql databases (main instance and a read-replica instance), **Secondary connection is optional**.\n\n### Usage\n\n    // app.js\n    ...\n    var mysql = require('mysql'), // node-mysql module\n    myConnection = require('express-myconnection'), // express-myconnection module\n    \n    dbOptions = {\n      host: 'localhost',\n      user: 'dbuser',\n      password: 'password',\n      port: 3306,\n      database: 'mydb'\n    };\n    dbOptionsSecondary = {\n      host: 'localhost2',\n      user: 'dbuser2',\n      password: 'password2',\n      port: 3306,\n      database: 'mydb'\n    };\n      \n    app.use(myConnection(mysql, 'single', dbOptions, dbOptionsSecondary));\n    ...\n    \n**express-myconnection** extends `request` object with `getConectionAsync` and `getConectionSecondaryAsync` promise functions, this way connection instance can be accessed anywhere in routers during request/response life cycle:\n\n    // myroute.js\n    ...\n    module.exports = function(req, res, next) {\n        ...\n        req.getConnectionAsync(function(err, connection) {\n          if (err) return next(err);\n          \n          connection.query('SELECT 1 AS RESULT', [], function(err, results) {\n            if (err) return next(err);\n            \n            results[0].RESULT;\n            // -> 1\n            \n            res.send(200);\n          });\n          \n        });\n        ...\n    }\n    ...\n\n    // myroute2.js\n    ...\n    module.exports = function(req, res, next) {\n        ...\n        req.getConnectionSecondaryAsync(function(err, connection) {\n          if (err) return next(err);\n          \n          connection.query('SELECT 1 AS RESULT', [], function(err, results) {\n            if (err) return next(err);\n            \n            results[0].RESULT;\n            // -> 1\n            \n            res.send(200);\n          });\n          \n        });\n        ...\n    }\n    ...\n\n**release connection** use req.releaseConnection to manual release a connection\n    // myroute.js\n    ...\n    module.exports = function(req, res, next) {\n      ...\n      req.getConnectionAsync(function(err, connection) {\n        if (err) return next(err);\n        connection.query('SELECT 1 AS RESULT', [], function(err, results) {\n          connection = null;\n          req.releaseConnection();    //manual to release a connection\n          if (err) return next(err);\n          results[0].RESULT;\n          // -> 1\n          requestUrl(url, function(err, data) {\n            if (err) return next(err);\n            req.getConnection(function(err, connection) {   //get a connection again\n              connection.query('SELECT 2 AS RESULT', [], function(err, results) {\n                  res.send(200);\n              });\n            });\n          })\n        });\n        \n      });\n      ...\n    }\n    ...","readmeFilename":"README.md"}