aboutsummaryrefslogtreecommitdiff
path: root/src/server/database.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/database.ts')
-rw-r--r--src/server/database.ts14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/server/database.ts b/src/server/database.ts
index 4f93d1ee6..44c49d03e 100644
--- a/src/server/database.ts
+++ b/src/server/database.ts
@@ -5,7 +5,7 @@ import { Utils, emptyFunction } from '../Utils';
import { DashUploadUtils } from './DashUploadUtils';
import { Credentials } from 'google-auth-library';
import { GoogleApiServerUtils } from './apis/google/GoogleApiServerUtils';
-import mongoose, { ConnectionStates } from 'mongoose';
+import * as mongoose from 'mongoose';
export namespace Database {
@@ -13,6 +13,14 @@ export namespace Database {
const port = 27017;
export const url = `mongodb://localhost:${port}/${schema}`;
+ enum ConnectionStates {
+ disconnected = 0,
+ connected = 1,
+ connecting = 2,
+ disconnecting = 3,
+ uninitialized = 99,
+ }
+
export async function tryInitializeConnection() {
try {
const { connection } = mongoose;
@@ -25,10 +33,14 @@ export namespace Database {
if (connection.readyState === ConnectionStates.disconnected) {
await new Promise<void>((resolve, reject) => {
connection.on('error', reject);
+ connection.on('disconnected', () => {
+ console.log(`Mongoose connection at ${url} now closed`);
+ });
connection.on('connected', () => {
console.log(`Mongoose established default connection at ${url}`);
resolve();
});
+ mongoose.connect(url, { useNewUrlParser: true });
});
}
} catch (e) {