diff --git a/server/api/health.get.js b/server/api/health.get.js new file mode 100644 index 0000000..5a3f7de --- /dev/null +++ b/server/api/health.get.js @@ -0,0 +1,19 @@ +import mongoose from 'mongoose' +import { connectDB } from '../utils/mongoose.js' + +export default defineEventHandler(async () => { + try { + await connectDB() + const dbState = mongoose.connection.readyState + // readyState: 0 = disconnected, 1 = connected, 2 = connecting, 3 = disconnecting + if (dbState !== 1) { + throw new Error('Database not connected') + } + return { status: 'ok', db: 'connected' } + } catch { + throw createError({ + statusCode: 503, + data: { status: 'error', db: 'disconnected' }, + }) + } +})