From 762bdc17bd8edf9a40af241afd49b351fc1e8e0e Mon Sep 17 00:00:00 2001 From: WubzyGD Date: Thu, 27 Oct 2022 02:13:39 -0600 Subject: [PATCH] db connection --- bot.js | 28 ++-------------------------- src/db/connect.js | 27 ++++++++++++++++++++------- 2 files changed, 22 insertions(+), 33 deletions(-) diff --git a/bot.js b/bot.js index 70a8581..6b5a120 100644 --- a/bot.js +++ b/bot.js @@ -1,29 +1,5 @@ -const logger = require('./src/util/log/log'); -const ora = require('./src/util/log/ora'); -const wait = require('./src/util/misc/wait'); -const chalk = require('chalk'); - -const client = {test: 'e', config: {logLevel: 1}}; - -const loggers = logger(client); -const log = loggers.log; - -log(); -log("Hello World!") -log("Hello in blue", {color: 'blue'}); -log('A strange warning appears!', {color: 'yellowBright', source: 'warn', sourceColor: 'yellow'}); -/*log('Extra line spacing before', {}, false, true); -log('regular line'); -log('extra line spacing after', {}, true); -log('regular line'); -log('both line spaces', {}, true, true); -log('regular line'); -log('a custom fancy pink color', {color: '#ff00ff', sourceColor: '#660066'});*/ -loggers.warn("A warning appears!"); -loggers.error("Something bad happened!"); -loggers.success("Something good happened!"); +const dbConnect = require('./src/db/connect'); const r = async () => { - await ora(chalk.yellowBright("Waiting for a slow connection..."), wait(2000), () => loggers.success("Connected!", 0, true)); - log('after thingy'); + await dbConnect({auth: require('./src/json/auth.json'), config: {logLevel: 1}}); }; r(); \ No newline at end of file diff --git a/src/db/connect.js b/src/db/connect.js index 6637e73..76e34b6 100644 --- a/src/db/connect.js +++ b/src/db/connect.js @@ -1,10 +1,23 @@ +const chalk = require('chalk'); +const mongoose = require('mongoose'); + +const log = require('../util/log/log'); +const ora = require('../util/log/ora'); + module.exports = async client => { - const config = client.config; - try { - await mongoose.connect(`mongodb+srv://${config.database.user}:${config.database.password}@${config.database.cluster}.3jpp4.mongodb.net/test`, { - useFindAndModify: false, useNewUrlParser: true, dbName: 'Natsuki-Main', useUnifiedTopology: true, useCreateIndex: true - }).catch(() => {}); - } catch (e) { - + const auth = client.auth; + const t = Date.now(); + client.misc = {}; + client.misc.dbconnected = false; + await ora(chalk.blueBright.bold.underline("Connecting to MongoDB..."), + mongoose.connect(`mongodb+srv://${auth.database.user}:${auth.database.password}@${auth.database.cluster}.3jpp4.mongodb.net/test`, { + useFindAndModify: false, useNewUrlParser: true, dbName: auth.database.name, useUnifiedTopology: true, useCreateIndex: true + }) + ).catch((e) => log(client).error("Failed to connect to mongoose!! Error below.", 0, true, true, e)) + .then(() => {client.misc.dbconnected = true;}); + if (!client.misc.dbconnected) { + log(client).warn("Database not connected, considering runtime to be unusable and exiting.", 0, true, true); + throw new Error(); } + return log(client).success(`Connected to Mongo Database in ${chalk.white(`${Date.now() - t}ms`)}.`); }; \ No newline at end of file