Initial commit
This commit is contained in:
54
server/routes/health.js
Normal file
54
server/routes/health.js
Normal file
@@ -0,0 +1,54 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
|
||||
// Health check endpoint
|
||||
router.get('/', (req, res) => {
|
||||
const healthcheck = {
|
||||
uptime: process.uptime(),
|
||||
message: 'OK',
|
||||
timestamp: Date.now(),
|
||||
environment: process.env.NODE_ENV || 'development',
|
||||
version: process.env.npm_package_version || '1.0.0'
|
||||
};
|
||||
|
||||
try {
|
||||
res.status(200).json(healthcheck);
|
||||
} catch (error) {
|
||||
healthcheck.message = error;
|
||||
res.status(503).json(healthcheck);
|
||||
}
|
||||
});
|
||||
|
||||
// Detailed health check with database connection
|
||||
router.get('/detailed', async (req, res) => {
|
||||
const healthcheck = {
|
||||
uptime: process.uptime(),
|
||||
message: 'OK',
|
||||
timestamp: Date.now(),
|
||||
environment: process.env.NODE_ENV || 'development',
|
||||
version: process.env.npm_package_version || '1.0.0',
|
||||
services: {}
|
||||
};
|
||||
|
||||
try {
|
||||
// Check database connection
|
||||
const { sequelize } = require('../models');
|
||||
await sequelize.authenticate();
|
||||
healthcheck.services.database = 'connected';
|
||||
|
||||
// Check Redis connection (if configured)
|
||||
if (process.env.REDIS_HOST) {
|
||||
// Add Redis check if implemented
|
||||
healthcheck.services.redis = 'not_implemented';
|
||||
}
|
||||
|
||||
res.status(200).json(healthcheck);
|
||||
} catch (error) {
|
||||
healthcheck.message = 'Service Unavailable';
|
||||
healthcheck.services.database = 'disconnected';
|
||||
healthcheck.error = error.message;
|
||||
res.status(503).json(healthcheck);
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user