From 9a6b88195fecfab2ce68aebfcdadc29d142658f3 Mon Sep 17 00:00:00 2001 From: joshua sorkin Date: Wed, 12 Oct 2022 09:13:17 -0700 Subject: [PATCH 1/2] implement ES6 singleton in database.js per https://code.tutsplus.com/tutorials/how-to-implement-the-singleton-pattern-in-javascript-es6--cms-39927 --- src/config/database.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/config/database.js b/src/config/database.js index 09f9791..47fc687 100644 --- a/src/config/database.js +++ b/src/config/database.js @@ -2,7 +2,7 @@ require("env2")(".env"); const Sequelize = require("sequelize"); class Database { - + constructor() { if (Database._instance) { throw new Error( @@ -24,17 +24,18 @@ class Database { try { this.sequelize.authenticate(); - console.log("Database connection has been established successfully."); + console.log("Database onnection has been established successfully."); } catch (error) { console.error("Unable to connect to the database:", error); } +} - Database._instance = this; - } - - static getInstance() { - return Database._instance; +static getInstance() { + if (!this._instance){ + this._instance = new Database(); } + return this._instance; +} parseSSLEnvVar() { this.sequelize_ssl = process.env.SEQUELIZE_SSL.toLowerCase(); From 543b4c82de9c9430d51cdcb6e13f5f9f09de078e Mon Sep 17 00:00:00 2001 From: joshua sorkin Date: Wed, 12 Oct 2022 09:14:04 -0700 Subject: [PATCH 2/2] edit connection success console log --- src/config/database.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/database.js b/src/config/database.js index 47fc687..9853bed 100644 --- a/src/config/database.js +++ b/src/config/database.js @@ -24,7 +24,7 @@ class Database { try { this.sequelize.authenticate(); - console.log("Database onnection has been established successfully."); + console.log("Database connection has been established successfully."); } catch (error) { console.error("Unable to connect to the database:", error); }