@matthewbonig/rds-tools
Version:
A construct for working with RDS SQL servers
29 lines • 3.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PostgresSqlProvider = void 0;
// eslint-disable-next-line @typescript-eslint/no-require-imports
const { Client } = require('pg');
class PostgresSqlProvider {
// @ts-ignore
constructor(props) {
this.client = new Client({
user: props.username,
host: props.host,
database: props.databaseName || 'postgres',
password: props.password,
port: props.port || 5432,
ssl: true,
});
}
async query(script) {
console.log('Connecting...');
await this.client.connect();
console.log('Querying....');
const results = await this.client.query(script);
this.client.end();
console.log('Results:', JSON.stringify(results, null, 2));
return results;
}
}
exports.PostgresSqlProvider = PostgresSqlProvider;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdGdyZXMtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGFuZGxlcnMvcG9zdGdyZXMtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUVBQWlFO0FBQ2pFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFakMsTUFBYSxtQkFBbUI7SUFFOUIsYUFBYTtJQUNiLFlBQVksS0FBNEc7UUFDdEgsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQztZQUN2QixJQUFJLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDcEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFFBQVEsRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLFVBQVU7WUFDMUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUk7WUFDeEIsR0FBRyxFQUFFLElBQUk7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFjO1FBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDN0IsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQXZCRCxrREF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVyJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG5jb25zdCB7IENsaWVudCB9ID0gcmVxdWlyZSgncGcnKTtcblxuZXhwb3J0IGNsYXNzIFBvc3RncmVzU3FsUHJvdmlkZXIgaW1wbGVtZW50cyBJUHJvdmlkZXIge1xuICBwcml2YXRlIGNsaWVudDogYW55O1xuICAvLyBAdHMtaWdub3JlXG4gIGNvbnN0cnVjdG9yKHByb3BzOiB7IHBhc3N3b3JkOiBzdHJpbmc7IGRhdGFiYXNlTmFtZT86IHN0cmluZzsgcG9ydDogc3RyaW5nIHwgdW5kZWZpbmVkOyBob3N0OiBzdHJpbmc7IHVzZXJuYW1lOiBzdHJpbmcgfSkge1xuICAgIHRoaXMuY2xpZW50ID0gbmV3IENsaWVudCh7XG4gICAgICB1c2VyOiBwcm9wcy51c2VybmFtZSxcbiAgICAgIGhvc3Q6IHByb3BzLmhvc3QsXG4gICAgICBkYXRhYmFzZTogcHJvcHMuZGF0YWJhc2VOYW1lIHx8ICdwb3N0Z3JlcycsXG4gICAgICBwYXNzd29yZDogcHJvcHMucGFzc3dvcmQsXG4gICAgICBwb3J0OiBwcm9wcy5wb3J0IHx8IDU0MzIsXG4gICAgICBzc2w6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBxdWVyeShzY3JpcHQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc29sZS5sb2coJ0Nvbm5lY3RpbmcuLi4nKTtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5jb25uZWN0KCk7XG4gICAgY29uc29sZS5sb2coJ1F1ZXJ5aW5nLi4uLicpO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLmNsaWVudC5xdWVyeShzY3JpcHQpO1xuICAgIHRoaXMuY2xpZW50LmVuZCgpO1xuICAgIGNvbnNvbGUubG9nKCdSZXN1bHRzOicsIEpTT04uc3RyaW5naWZ5KHJlc3VsdHMsIG51bGwsIDIpKTtcbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxufVxuIl19