diff --git a/server/src/config/db.ts b/server/src/config/db.ts index 47414c2..4f5b970 100644 --- a/server/src/config/db.ts +++ b/server/src/config/db.ts @@ -11,4 +11,26 @@ const connectDB = async (): Promise => { } } -export default connectDB; +// const readyState = (): string => { +// if (mongoose.connection.readyState === 0) { +// return "Disconnected" +// } else if (mongoose.connection.readyState === 1) { +// return "Connected" +// } else if (mongoose.connection.readyState === 2) { +// return "Connecting" +// } else if (mongoose.connection.readyState === 3) { +// return "Disconnecting" +// } +// } + +const readyState = () : string => { + const states: Record = { + 0: 'Disconnected', + 1: 'Connected', + 2: 'Connecting', + 3: 'Disconnecting', + }; + return states[mongoose.connection.readyState] ?? 'Unknown'; +}; + +export {connectDB, readyState} \ No newline at end of file diff --git a/server/src/server.ts b/server/src/server.ts index 9186386..a52b267 100644 --- a/server/src/server.ts +++ b/server/src/server.ts @@ -1,7 +1,7 @@ import express, {Application, Request, Response} from 'express'; import cors from 'cors'; import {ENV} from './config/env'; -import connectDB from './config/db'; +import {connectDB, readyState} from './config/db'; const app: Application = express() @@ -16,6 +16,16 @@ app.get('/health', (_req: Request, res: Response)=> { }); }); +//for checking database connection + +app.get('/health/db', (req: Request, res: Response)=> { + res.json({ + db_status: readyState(), + environment: ENV.NODE_ENV, + timestamp: new Date().toISOString() + }) +}); + //start Server