mirror of
https://github.com/BreizhHardware/Jellystat.git
synced 2026-01-18 16:27:20 +01:00
style: readability
a few spaces here and there prettier formatting
This commit is contained in:
@@ -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,
|
||||
};
|
||||
|
||||
133
backend/db.js
133
backend/db.js
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user