Files
drone-detector/server/routes/health.js
2025-09-15 15:08:49 +02:00

58 lines
1.5 KiB
JavaScript

const express = require('express');
const router = express.Router();
// Health check endpoint
router.get('/', (req, res) => {
const healthcheck = {
status: 'ok',
uptime: process.uptime(),
message: 'OK',
timestamp: Date.now(),
environment: process.env.NODE_ENV || 'development',
version: process.env.npm_package_version || '1.0.0',
service: 'UAM-ILS Drone Detection System'
};
try {
res.status(200).json(healthcheck);
} catch (error) {
healthcheck.status = '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;