style: readability

a few spaces here and there
prettier formatting
This commit is contained in:
c4lyp5o
2023-11-07 16:47:39 +08:00
parent 3ffb21f8b8
commit c0c9d11360
2 changed files with 88 additions and 89 deletions

View File

@@ -1,37 +1,33 @@
const { Client } = require('pg');
const _POSTGRES_USER=process.env.POSTGRES_USER;
const _POSTGRES_USER = process.env.POSTGRES_USER;
const _POSTGRES_PASSWORD = process.env.POSTGRES_PASSWORD;
const _POSTGRES_IP=process.env.POSTGRES_IP;
const _POSTGRES_IP = process.env.POSTGRES_IP;
const _POSTGRES_PORT = process.env.POSTGRES_PORT;
const client = new Client({
host: _POSTGRES_IP,
user: _POSTGRES_USER,
password: _POSTGRES_PASSWORD,
port: _POSTGRES_PORT,
host: _POSTGRES_IP,
user: _POSTGRES_USER,
password: _POSTGRES_PASSWORD,
port: _POSTGRES_PORT,
});
const createDatabase = async () => {
try {
await client.connect(); // gets connection
await client.query('CREATE DATABASE jfstat'); // sends queries
return true;
} catch (error) {
if(!error.stack.includes('already exists'))
{
console.error(error.stack);
}
return false;
} finally {
await client.end(); // closes connection
try {
await client.connect(); // gets connection
await client.query('CREATE DATABASE jfstat'); // sends queries
return true;
} catch (error) {
if (!error.stack.includes('already exists')) {
console.error(error.stack);
}
return false;
} finally {
await client.end(); // closes connection
}
};
module.exports = {
createDatabase:createDatabase,
};
createDatabase: createDatabase,
};

View File

@@ -1,26 +1,29 @@
const { Pool } = require('pg');
const pgp = require("pg-promise")();
const {update_query : update_query_map} = require("./models/bulk_insert_update_handler");
const pgp = require('pg-promise')();
const {
update_query: update_query_map,
} = require('./models/bulk_insert_update_handler');
const _POSTGRES_USER=process.env.POSTGRES_USER;
const _POSTGRES_USER = process.env.POSTGRES_USER;
const _POSTGRES_PASSWORD = process.env.POSTGRES_PASSWORD;
const _POSTGRES_IP=process.env.POSTGRES_IP;
const _POSTGRES_IP = process.env.POSTGRES_IP;
const _POSTGRES_PORT = process.env.POSTGRES_PORT;
if([_POSTGRES_USER,_POSTGRES_PASSWORD,_POSTGRES_IP,_POSTGRES_PORT].includes(undefined))
{
if (
[_POSTGRES_USER, _POSTGRES_PASSWORD, _POSTGRES_IP, _POSTGRES_PORT].includes(
undefined
)
) {
console.log('Error: Postgres details not defined');
return;
}
const pool = new Pool({
user: (_POSTGRES_USER),
host:(_POSTGRES_IP),
user: _POSTGRES_USER,
host: _POSTGRES_IP,
database: 'jfstat',
password:(_POSTGRES_PASSWORD),
port: (_POSTGRES_PORT),
password: _POSTGRES_PASSWORD,
port: _POSTGRES_PORT,
});
pool.on('error', (err, client) => {
@@ -31,98 +34,98 @@ pool.on('error', (err, client) => {
async function deleteBulk(table_name, data) {
const client = await pool.connect();
let result='SUCCESS';
let message='';
let result = 'SUCCESS';
let message = '';
try {
await client.query('BEGIN');
if (data && data.length !== 0) {
const deleteQuery = {
text: `DELETE FROM ${table_name} WHERE "Id" IN (${pgp.as.csv(
data
)})`
text: `DELETE FROM ${table_name} WHERE "Id" IN (${pgp.as.csv(data)})`,
};
// console.log(deleteQuery);
await client.query(deleteQuery);
}
}
await client.query('COMMIT');
message=(data.length + " Rows removed.");
message = data.length + ' Rows removed.';
} catch (error) {
await client.query('ROLLBACK');
message=('Bulk delete error: '+ error);
result='ERROR';
message = 'Bulk delete error: ' + error;
result = 'ERROR';
} finally {
client.release();
}
return ({Result:result,message:''+message});
return { Result: result, message: '' + message };
}
async function insertBulk(table_name, data,columns) {
async function insertBulk(table_name, data, columns) {
//dedupe data
if (Array.isArray(data)) {
data= data.reduce((accumulator, currentItem) => {
const isDuplicate = accumulator.some(item => currentItem.Id ? (item.Id === currentItem.Id) : (item.rowid === currentItem.rowid));
if (Array.isArray(data)) {
data = data.reduce((accumulator, currentItem) => {
const isDuplicate = accumulator.some((item) =>
currentItem.Id
? item.Id === currentItem.Id
: item.rowid === currentItem.rowid
);
if (!isDuplicate) {
accumulator.push(currentItem);
}
return accumulator;
}, []);
}
//
const client = await pool.connect();
let result='SUCCESS';
let message='';
let result = 'SUCCESS';
let message = '';
try {
await client.query("BEGIN");
const update_query= update_query_map.find(query => query.table === table_name).query;
await client.query("COMMIT");
const cs = new pgp.helpers.ColumnSet(columns, { table: table_name });
const query = pgp.helpers.insert(data, cs) + update_query; // Update the column names accordingly
await client.query(query);
await client.query('BEGIN');
const update_query = update_query_map.find(
(query) => query.table === table_name
).query;
await client.query('COMMIT');
const cs = new pgp.helpers.ColumnSet(columns, { table: table_name });
const query = pgp.helpers.insert(data, cs) + update_query; // Update the column names accordingly
await client.query(query);
} catch (error) {
await client.query('ROLLBACK');
message=(''+ error);
result='ERROR';
message = '' + error;
result = 'ERROR';
} finally {
client.release();
}
return ({Result:result,message:message?'Bulk insert error: '+message:''});
return {
Result: result,
message: message ? 'Bulk insert error: ' + message : '',
};
}
async function query(text, params) {
async function query(text, params) {
try {
const result = await pool.query(text, params);
return result;
} catch (error) {
if(error?.routine==='auth_failed')
{
console.log('Error 401: Unable to Authenticate with Postgres DB');
}else
if(error?.code==='ENOTFOUND')
{
console.log('Error: Unable to Connect to Postgres DB');
}else
if(error?.code==='ERR_SOCKET_BAD_PORT')
{
console.log('Error: Invalid Postgres DB Port Range. Port should be >= 0 and < 65536.');
}else
if(error?.code==='ECONNREFUSED')
{
console.log('Error: Postgres DB Connection refused at '+error.address+':'+error.port);
}else
{
console.error('Error occurred while executing query:', error);
if (error?.routine === 'auth_failed') {
console.log('Error 401: Unable to Authenticate with Postgres DB');
} else if (error?.code === 'ENOTFOUND') {
console.log('Error: Unable to Connect to Postgres DB');
} else if (error?.code === 'ERR_SOCKET_BAD_PORT') {
console.log(
'Error: Invalid Postgres DB Port Range. Port should be >= 0 and < 65536.'
);
} else if (error?.code === 'ECONNREFUSED') {
console.log(
'Error: Postgres DB Connection refused at ' +
error.address +
':' +
error.port
);
} else {
console.error('Error occurred while executing query:', error);
}
return [];
// throw error;
@@ -130,7 +133,7 @@ async function query(text, params) {
}
module.exports = {
query:query,
query: query,
deleteBulk: deleteBulk,
insertBulk: insertBulk,
// initDB: initDB,