From 050a92b3189d2f20dfb78904c7edc77bab2d3ed6 Mon Sep 17 00:00:00 2001 From: Danny Avila <110412045+danny-avila@users.noreply.github.com> Date: Sun, 7 Jan 2024 14:43:27 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=84=20refactor(config):=20Move=20`conn?= =?UTF-8?q?ectWithTimeout`=20Outside=20of=20Helpers=20Module=20(#1513)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/add-balance.js | 5 +++-- config/ban-user.js | 5 +++-- config/connect.js | 32 ++++++++++++++++++++++++++++++++ config/create-user.js | 5 +++-- config/delete-user.js | 5 +++-- config/helpers.js | 30 ------------------------------ config/list-balances.js | 5 +++-- 7 files changed, 47 insertions(+), 40 deletions(-) create mode 100644 config/connect.js diff --git a/config/add-balance.js b/config/add-balance.js index 75b9b4cda9..69caab8a0f 100644 --- a/config/add-balance.js +++ b/config/add-balance.js @@ -1,11 +1,12 @@ const path = require('path'); require('module-alias')({ base: path.resolve(__dirname, '..', 'api') }); -const { askQuestion, silentExit, connectWithTimeout } = require('./helpers'); +const { askQuestion, silentExit } = require('./helpers'); const Transaction = require('~/models/Transaction'); const User = require('~/models/User'); +const connect = require('./connect'); (async () => { - await connectWithTimeout(); + await connect(); /** * Show the welcome / help menu diff --git a/config/ban-user.js b/config/ban-user.js index a2c01a1cef..89dc70c30a 100644 --- a/config/ban-user.js +++ b/config/ban-user.js @@ -1,11 +1,12 @@ const path = require('path'); require('module-alias')({ base: path.resolve(__dirname, '..', 'api') }); -const { askQuestion, silentExit, connectWithTimeout } = require('./helpers'); +const { askQuestion, silentExit } = require('./helpers'); const banViolation = require('~/cache/banViolation'); const User = require('~/models/User'); +const connect = require('./connect'); (async () => { - await connectWithTimeout(); + await connect(); console.purple('---------------------'); console.purple('Ban a user account!'); diff --git a/config/connect.js b/config/connect.js new file mode 100644 index 0000000000..9ee47a6dc8 --- /dev/null +++ b/config/connect.js @@ -0,0 +1,32 @@ +const path = require('path'); +require('module-alias')({ base: path.resolve(__dirname, '..', 'api') }); +const connectDb = require('~/lib/db/connectDb'); + +async function connect() { + /** + * Connect to the database + * - If it takes a while, we'll warn the user + */ + let timeout = setTimeout(() => { + console.orange( + 'This is taking a while... You may need to check your connection if this fails.', + ); + timeout = setTimeout(() => { + console.orange('Still going... Might as well assume the connection failed...'); + timeout = setTimeout(() => { + console.orange('Error incoming in 3... 2... 1...'); + }, 13000); + }, 10000); + }, 5000); + // Attempt to connect to the database + try { + console.orange('Warming up the engines...'); + await connectDb(); + clearTimeout(timeout); + } catch (e) { + console.error(e); + process.exit(1); + } +} + +module.exports = connect; diff --git a/config/create-user.js b/config/create-user.js index cd0c713255..1dfa93e55c 100644 --- a/config/create-user.js +++ b/config/create-user.js @@ -1,11 +1,12 @@ const path = require('path'); require('module-alias')({ base: path.resolve(__dirname, '..', 'api') }); const { registerUser } = require('~/server/services/AuthService'); -const { askQuestion, silentExit, connectWithTimeout } = require('./helpers'); +const { askQuestion, silentExit } = require('./helpers'); const User = require('~/models/User'); +const connect = require('./connect'); (async () => { - await connectWithTimeout(); + await connect(); /** * Show the welcome / help menu diff --git a/config/delete-user.js b/config/delete-user.js index fe7efe057d..220cd2d18e 100644 --- a/config/delete-user.js +++ b/config/delete-user.js @@ -1,10 +1,11 @@ const path = require('path'); require('module-alias')({ base: path.resolve(__dirname, '..', 'api') }); -const { connectWithTimeout, askQuestion, silentExit } = require('./helpers'); +const { askQuestion, silentExit } = require('./helpers'); const User = require('~/models/User'); +const connect = require('./connect'); (async () => { - await connectWithTimeout(); + await connect(); /** * Show the welcome / help menu diff --git a/config/helpers.js b/config/helpers.js index 2b634612d4..6bc6ed0ef2 100644 --- a/config/helpers.js +++ b/config/helpers.js @@ -6,8 +6,6 @@ const fs = require('fs'); const path = require('path'); const readline = require('readline'); const { execSync } = require('child_process'); -require('module-alias')({ base: path.resolve(__dirname, '..', 'api') }); -const connectDb = require('~/lib/db/connectDb'); const askQuestion = (query) => { const rl = readline.createInterface({ @@ -45,33 +43,6 @@ const silentExit = (code = 0) => { process.exit(code); }; -async function connectWithTimeout() { - /** - * Connect to the database - * - If it takes a while, we'll warn the user - */ - let timeout = setTimeout(() => { - console.orange( - 'This is taking a while... You may need to check your connection if this fails.', - ); - timeout = setTimeout(() => { - console.orange('Still going... Might as well assume the connection failed...'); - timeout = setTimeout(() => { - console.orange('Error incoming in 3... 2... 1...'); - }, 13000); - }, 10000); - }, 5000); - // Attempt to connect to the database - try { - console.orange('Warming up the engines...'); - await connectDb(); - clearTimeout(timeout); - } catch (e) { - console.error(e); - silentExit(1); - } -} - // Set the console colours console.orange = (msg) => console.log('\x1b[33m%s\x1b[0m', msg); console.green = (msg) => console.log('\x1b[32m%s\x1b[0m', msg); @@ -87,6 +58,5 @@ module.exports = { askQuestion, silentExit, isDockerRunning, - connectWithTimeout, deleteNodeModules, }; diff --git a/config/list-balances.js b/config/list-balances.js index 670aba6e5d..6021ed78bc 100644 --- a/config/list-balances.js +++ b/config/list-balances.js @@ -1,11 +1,12 @@ const path = require('path'); require('module-alias')({ base: path.resolve(__dirname, '..', 'api') }); -const { connectWithTimeout, silentExit } = require('./helpers'); +const { silentExit } = require('./helpers'); const Balance = require('~/models/Balance'); const User = require('~/models/User'); +const connect = require('./connect'); (async () => { - await connectWithTimeout(); + await connect(); /** * Show the welcome / help menu