@matthewbonig/rds-tools
Version:
A construct for working with RDS SQL servers
28 lines • 3.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MySqlProvider = void 0;
// eslint-disable-next-line @typescript-eslint/no-require-imports
const mysql = require('promise-mysql');
class MySqlProvider {
constructor(props) {
this.connectionPromise = mysql.createConnection({
host: props.host,
user: props.username,
port: props.port || 3306,
password: props.password,
database: props.databaseName || 'mysql',
});
}
async query(script) {
if (!this.connection) {
console.log('Connecting...');
this.connection = await this.connectionPromise;
}
console.log('Querying...');
let results = await this.connection.query(script);
console.log('Results: ', JSON.stringify(results, null, 2));
return results;
}
}
exports.MySqlProvider = MySqlProvider;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXlzcWwtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGFuZGxlcnMvbXlzcWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUVBQWlFO0FBQ2pFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUV2QyxNQUFhLGFBQWE7SUFHeEIsWUFBWSxLQUEyRztRQUNySCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1lBQzlDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixJQUFJLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDcEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSTtZQUN4QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksT0FBTztTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFjO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztTQUNoRDtRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0IsSUFBSSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUF2QkQsc0NBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVByb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcic7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuY29uc3QgbXlzcWwgPSByZXF1aXJlKCdwcm9taXNlLW15c3FsJyk7XG5cbmV4cG9ydCBjbGFzcyBNeVNxbFByb3ZpZGVyIGltcGxlbWVudHMgSVByb3ZpZGVyIHtcbiAgcHJpdmF0ZSBjb25uZWN0aW9uOiBhbnk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdGlvblByb21pc2U6IFByb21pc2U8YW55PjtcbiAgY29uc3RydWN0b3IocHJvcHM6IHsgcGFzc3dvcmQ6IHN0cmluZzsgZGF0YWJhc2VOYW1lOiBzdHJpbmc7IHBvcnQ6IHN0cmluZyB8IHVuZGVmaW5lZDsgaG9zdDogc3RyaW5nOyB1c2VybmFtZTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLmNvbm5lY3Rpb25Qcm9taXNlID0gbXlzcWwuY3JlYXRlQ29ubmVjdGlvbih7XG4gICAgICBob3N0OiBwcm9wcy5ob3N0LFxuICAgICAgdXNlcjogcHJvcHMudXNlcm5hbWUsXG4gICAgICBwb3J0OiBwcm9wcy5wb3J0IHx8IDMzMDYsXG4gICAgICBwYXNzd29yZDogcHJvcHMucGFzc3dvcmQsXG4gICAgICBkYXRhYmFzZTogcHJvcHMuZGF0YWJhc2VOYW1lIHx8ICdteXNxbCcsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBxdWVyeShzY3JpcHQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKCF0aGlzLmNvbm5lY3Rpb24pIHtcbiAgICAgIGNvbnNvbGUubG9nKCdDb25uZWN0aW5nLi4uJyk7XG4gICAgICB0aGlzLmNvbm5lY3Rpb24gPSBhd2FpdCB0aGlzLmNvbm5lY3Rpb25Qcm9taXNlO1xuICAgIH1cbiAgICBjb25zb2xlLmxvZygnUXVlcnlpbmcuLi4nKTtcbiAgICBsZXQgcmVzdWx0cyA9IGF3YWl0IHRoaXMuY29ubmVjdGlvbi5xdWVyeShzY3JpcHQpO1xuICAgIGNvbnNvbGUubG9nKCdSZXN1bHRzOiAnLCBKU09OLnN0cmluZ2lmeShyZXN1bHRzLCBudWxsLCAyKSk7XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cbn0iXX0=