@matthewbonig/rds-tools
Version:
A construct for working with RDS SQL servers
24 lines • 3.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MsSqlProvider = void 0;
// eslint-disable-next-line @typescript-eslint/no-require-imports
const sql = require('mssql');
class MsSqlProvider {
constructor(props) {
this.username = props.username;
this.password = props.password;
this.host = props.host;
this.databaseName = props.databaseName || 'master';
this.port = props.port || '3306';
}
async query(script) {
console.log('Connecting to database...');
await sql.connect(`mssql://${this.username}:${this.password}@${this.host}:${this.port}/${this.databaseName}`);
console.log('Connected. Running query...');
const results = await sql.query(script);
console.log('Query run: ', JSON.stringify(results, null, 2));
return results;
}
}
exports.MsSqlProvider = MsSqlProvider;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXNzcWwtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGFuZGxlcnMvbXNzcWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsaUVBQWlFO0FBQ2pFLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUU3QixNQUFhLGFBQWE7SUFPeEIsWUFBWSxLQU1YO1FBQ0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLFFBQVEsQ0FBQztRQUNuRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQWM7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDOUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUE3QkQsc0NBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVByb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcic7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG5jb25zdCBzcWwgPSByZXF1aXJlKCdtc3NxbCcpO1xuXG5leHBvcnQgY2xhc3MgTXNTcWxQcm92aWRlciBpbXBsZW1lbnRzIElQcm92aWRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlcm5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwYXNzd29yZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwb3J0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IHtcbiAgICBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gICAgaG9zdDogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICBwb3J0Pzogc3RyaW5nO1xuICB9KSB7XG4gICAgdGhpcy51c2VybmFtZSA9IHByb3BzLnVzZXJuYW1lO1xuICAgIHRoaXMucGFzc3dvcmQgPSBwcm9wcy5wYXNzd29yZDtcbiAgICB0aGlzLmhvc3QgPSBwcm9wcy5ob3N0O1xuICAgIHRoaXMuZGF0YWJhc2VOYW1lID0gcHJvcHMuZGF0YWJhc2VOYW1lIHx8ICdtYXN0ZXInO1xuICAgIHRoaXMucG9ydCA9IHByb3BzLnBvcnQgfHwgJzMzMDYnO1xuICB9XG5cbiAgYXN5bmMgcXVlcnkoc2NyaXB0OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnNvbGUubG9nKCdDb25uZWN0aW5nIHRvIGRhdGFiYXNlLi4uJyk7XG4gICAgYXdhaXQgc3FsLmNvbm5lY3QoYG1zc3FsOi8vJHt0aGlzLnVzZXJuYW1lfToke3RoaXMucGFzc3dvcmR9QCR7dGhpcy5ob3N0fToke3RoaXMucG9ydH0vJHt0aGlzLmRhdGFiYXNlTmFtZX1gKTtcbiAgICBjb25zb2xlLmxvZygnQ29ubmVjdGVkLiBSdW5uaW5nIHF1ZXJ5Li4uJyk7XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHNxbC5xdWVyeShzY3JpcHQpO1xuICAgIGNvbnNvbGUubG9nKCdRdWVyeSBydW46ICcsIEpTT04uc3RyaW5naWZ5KHJlc3VsdHMsIG51bGwsIDIpKTtcbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxufSJdfQ==