Skip to content

Commit

Permalink
Merge pull request #86 from chuxmykel/ch-clean-up
Browse files Browse the repository at this point in the history
chore(clean-up) WIP
  • Loading branch information
chuxmykel committed Oct 16, 2020
2 parents 9763d2f + 72246b1 commit 55479ac
Show file tree
Hide file tree
Showing 13 changed files with 74 additions and 110 deletions.
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ SALT_ROUNDS = integer
SERVER_MAIL = functional google email address
MAIL_PASSWORD = mail password
DATABASE_URL= postgres://user_name:password@host:port/db_name
TEST_DATABASE_URL=postgres://user_name:password@host:port/test_db_name
TEST_DATABASE_URL=postgres://user_name:password@host:port/test_db_name
35 changes: 0 additions & 35 deletions .github/workflows/node.js.yml

This file was deleted.

5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -66,5 +66,6 @@ build/
# mac ds_store file
.DS_Store

# vscode workspace file
banka.code-workspace
# vscode files and folders
banka.code-workspace
.vscode/
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
"nyc": "nyc --reporter=lcov npm run test && nyc report --reporter=text-lcov | coveralls",
"coverage": "nyc npm test",
"heroku-postbuild": "npm run build",
"migrations": "export DEBUG=dev && babel-node server/v1/app/migrations/dropTables && babel-node server/v1/app/migrations/createTables && babel-node server/v1/app/migrations/seed",
"heroku-migrations": "export DEBUG=dev && node build/v1/app/migrations/dropTables && node build/v1/app/migrations/createTables && node build/v1/app/migrations/seed"
"migrations": "export DEBUG=dev && babel-node server/v1/app/database/dropTables && babel-node server/v1/app/database/createTables && babel-node server/v1/app/database/seedTables",
"heroku-migrations": "export DEBUG=dev && node build/v1/app/database/dropTables && node build/v1/app/database/createTables && node build/v1/app/database/seedTables"
},
"repository": {
"type": "git",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import query from './index';
import dbClient from './index';

const queryString = `
CREATE TABLE IF NOT EXISTS users(
Expand Down Expand Up @@ -33,4 +33,4 @@ const queryString = `
);
`;

query(queryString);
dbClient.query(queryString);
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import query from './index';
import dbClient from './index';

const queryString = 'DROP TABLE IF EXISTS users, accounts, transactions CASCADE';

query(queryString);
dbClient.query(queryString);
40 changes: 40 additions & 0 deletions server/v1/app/database/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import debug from 'debug';
import { Pool } from 'pg';
import dotenv from 'dotenv';

dotenv.config();
const log = debug('dev');

export const pool = new Pool({
connectionString: process.env.NODE_ENV === 'test'
? process.env.TEST_DATABASE_URL : process.env.DATABASE_URL,
});

pool.on('connect', () => {
log('connected to the db');
});

pool.on('remove', () => {
log('client removed');
process.exit(0);
});

/**
* @function query
* @description queries the db
* @param {string} queryString - the query string
* @param {any []} values - an array with values
* for items specified as parameters in the query string
* @returns {*} nothing
*/
const query = (queryString, values = []) => {
try {
return pool.query(queryString, values);
} catch (err) {
log(err);
} finally {
pool.end();
}
};

export default { query };
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import moment from 'moment';
import query from './index';
import dbClient from './index';
import Auth from '../auth/auth';

const queryString = `
Expand Down Expand Up @@ -37,4 +37,4 @@ const queryString = `
('${moment(new Date())}', 'credit', 7596841530, 2, 99850.00, 1200000.58, 1299850.58);
`;

query(queryString);
dbClient.query(queryString);
11 changes: 0 additions & 11 deletions server/v1/app/migrations/db.js

This file was deleted.

31 changes: 0 additions & 31 deletions server/v1/app/migrations/index.js

This file was deleted.

20 changes: 10 additions & 10 deletions server/v1/app/models/accounts.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import moment from 'moment';
import AccountNumber from '../helpers/accountNumber';
import db from '../migrations/db';
import { pool } from '../database';

/**
* @exports account
Expand All @@ -19,7 +19,7 @@ class Account {
type, status, balance) VALUES ($1, $2, $3, $4, $5, $6) RETURNING "accountNumber"::FLOAT, type, balance::FLOAT;`;
const values = [AccountNumber.generateAccountNumber(), moment(new Date()),
req.user.id, data.type, 'draft', parseFloat(data.initialDeposit, 10)];
const response = db.query(queryText, values);
const response = pool.query(queryText, values);
return response;
}

Expand All @@ -31,7 +31,7 @@ class Account {
*/
static updateStatus(accountNumber, status) {
const query = 'UPDATE accounts SET status = $1 WHERE "accountNumber" = $2 RETURNING status;';
const response = db.query(query, [status, accountNumber]);
const response = pool.query(query, [status, accountNumber]);
return response;
}

Expand All @@ -43,7 +43,7 @@ class Account {
*/
static delete(accountNumber) {
const query = 'DELETE FROM accounts WHERE "accountNumber" = $1';
const response = db.query(query, [accountNumber]);
const response = pool.query(query, [accountNumber]);
return response;
}

Expand All @@ -56,7 +56,7 @@ class Account {
*/
static updateBalance(accountNumber, balance) {
const query = 'UPDATE accounts SET balance = $1 WHERE "accountNumber" = $2 RETURNING *;';
const response = db.query(query, [balance, accountNumber]);
const response = pool.query(query, [balance, accountNumber]);
return response;
}

Expand All @@ -68,7 +68,7 @@ class Account {
*/
static find(accountNumber) {
const query = 'SELECT * FROM accounts WHERE "accountNumber" = $1;';
const response = db.query(query, [accountNumber]);
const response = pool.query(query, [accountNumber]);
return response;
}

Expand All @@ -87,7 +87,7 @@ class Account {
FROM accounts
JOIN users ON accounts.owner = users.id
WHERE accounts."accountNumber" = $1`;
const response = db.query(query, [accountNumber]);
const response = pool.query(query, [accountNumber]);
return response;
}

Expand All @@ -104,7 +104,7 @@ class Account {
FROM accounts
JOIN users ON accounts."owner" = users.id
ORDER BY accounts.id DESC`;
const response = db.query(query);
const response = pool.query(query);
return response;
}

Expand All @@ -122,7 +122,7 @@ class Account {
JOIN users ON accounts.owner = users.id
WHERE accounts.status = $1
ORDER BY accounts.id DESC`;
const response = db.query(query, [status]);
const response = pool.query(query, [status]);
return response;
}

Expand All @@ -141,7 +141,7 @@ class Account {
JOIN users ON accounts.owner = users.id
WHERE users.${paramName} = $1
ORDER BY accounts.id ASC`;
const response = db.query(query, [param]);
const response = pool.query(query, [param]);
return response;
}
}
Expand Down
10 changes: 5 additions & 5 deletions server/v1/app/models/transactions.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import moment from 'moment';
import db from '../migrations/db';
import { pool } from '../database';

/**
* @exports Transaction
Expand All @@ -23,7 +23,7 @@ class Transaction {
const values = [moment(new Date()), type, accountNumber,
req.user.id, parseFloat(req.body.amount), account.balance, newBalance];

const response = db.query(queryText, values);
const response = pool.query(queryText, values);
return response;
}

Expand Down Expand Up @@ -56,7 +56,7 @@ class Transaction {
JOIN accounts ON accounts."accountNumber" = transactions."accountNumber"
WHERE accounts.owner = $1 AND transactions."accountNumber" = $2;`;
const values = [req.user.id, accountNumber];
const response = db.query(queryText, values);
const response = pool.query(queryText, values);
return response;
}

Expand All @@ -75,7 +75,7 @@ class Transaction {
JOIN accounts ON accounts."accountNumber" = transactions."accountNumber"
WHERE transactions.id = $1 AND accounts.owner = $2`;
const values = [req.params.id, req.user.id];
const response = db.query(queryText, values);
const response = pool.query(queryText, values);
return response;
}

Expand All @@ -87,7 +87,7 @@ class Transaction {
*/
static findInTransactions(accountNumber) {
const queryText = 'SELECT "accountNumber" FROM transactions WHERE "accountNumber" = $1';
const response = db.query(queryText, [accountNumber]);
const response = pool.query(queryText, [accountNumber]);
return response;
}
}
Expand Down
14 changes: 7 additions & 7 deletions server/v1/app/models/users.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Auth from '../auth/auth';
import db from '../migrations/db';
import { pool } from '../database';

/**
* @exports User
Expand All @@ -20,7 +20,7 @@ class User {

const hashedPassword = Auth.hashPassword(password);
const values = [firstName, lastName, email, hashedPassword];
const response = db.query(queryText, values);
const response = pool.query(queryText, values);
return response;
}

Expand All @@ -38,17 +38,17 @@ class User {

const hashedPassword = Auth.hashPassword(password);
const values = [firstName, lastName, email, hashedPassword, 'staff', isAdmin];
const response = db.query(queryText, values);
const response = pool.query(queryText, values);
return response;
}

/**
* @param {*} email
* @returns { object } user object
*/
static find(email) {
static async find(email) {
const query = 'SELECT * FROM users WHERE email=$1';
const response = db.query(query, [email]);
const response = pool.query(query, [email]);
return response;
}

Expand All @@ -58,7 +58,7 @@ class User {
*/
static findById(id) {
const query = 'SELECT * FROM users WHERE id=$1';
const response = db.query(query, [id]);
const response = pool.query(query, [id]);
return response;
}

Expand All @@ -69,7 +69,7 @@ class User {
*/
static updatePassword(password, id) {
const query = 'UPDATE users SET password = $1 WHERE id = $2';
const response = db.query(query, [Auth.hashPassword(password), id]);
const response = pool.query(query, [Auth.hashPassword(password), id]);
return response;
}
}
Expand Down

0 comments on commit 55479ac

Please sign in to comment.