Files
drone-detector/server/routes/health.js
2025-08-16 19:43:44 +02:00

55 lines
1.4 KiB
JavaScript

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;