Files
drone-detector/server/routes/index.js
2025-09-24 05:17:53 +02:00

89 lines
3.0 KiB
JavaScript

const express = require('express');
const router = express.Router();
// Import route modules
const managementRoutes = require('./management');
const authRoutes = require('./auth');
const tenantRoutes = require('./tenant');
const deviceRoutes = require('./device');
const userRoutes = require('./user');
const alertRoutes = require('./alert');
const dashboardRoutes = require('./dashboard');
const healthRoutes = require('./health');
const { router: deviceHealthRoutes } = require('./deviceHealth');
const debugRoutes = require('./debug');
const detectorsRoutes = require('./detectors');
const detectionsRoutes = require('./detections');
const droneTypesRoutes = require('./droneTypes');
const tenantDebugRoutes = require('./tenant-debug');
const dataRetentionRoutes = require('./dataRetention');
const securityLogsRoutes = require('./securityLogs');
// Management portal routes (before API versioning)
router.use('/management', managementRoutes);
// Authentication routes (multi-tenant)
router.use('/auth', authRoutes);
// Tenant self-management routes
router.use('/tenant', tenantRoutes);
// API versioning
router.use('/v1/devices', deviceRoutes);
router.use('/v1/users', userRoutes);
router.use('/v1/alerts', alertRoutes);
router.use('/v1/dashboard', dashboardRoutes);
router.use('/v1/health', healthRoutes);
router.use('/v1/device-health', deviceHealthRoutes);
router.use('/v1/detectors', detectorsRoutes);
router.use('/v1/detections', detectionsRoutes);
router.use('/v1/drone-types', droneTypesRoutes);
router.use('/v1/security-logs', securityLogsRoutes);
// Default routes (no version prefix for backward compatibility)
router.use('/devices', deviceRoutes);
router.use('/users', userRoutes);
router.use('/alerts', alertRoutes);
router.use('/dashboard', dashboardRoutes);
router.use('/health', healthRoutes);
router.use('/device-health', deviceHealthRoutes);
router.use('/debug', debugRoutes);
router.use('/detectors', detectorsRoutes);
router.use('/detections', detectionsRoutes);
router.use('/drone-types', droneTypesRoutes);
router.use('/security-logs', securityLogsRoutes);
router.use('/tenant-debug', tenantDebugRoutes);
router.use('/data-retention', dataRetentionRoutes);
// API documentation endpoint
router.get('/', (req, res) => {
res.json({
message: 'Drone Detection System API',
version: '1.0.0',
endpoints: {
detections: '/api/detections',
detectors: '/api/detectors',
devices: '/api/devices',
users: '/api/users',
alerts: '/api/alerts',
dashboard: '/api/dashboard',
health: '/api/health',
'device-health': '/api/device-health',
'drone-types': '/api/drone-types',
'security-logs': '/api/security-logs',
'data-retention': '/api/data-retention'
},
microservices: {
'data-retention': {
status: '/api/data-retention/status',
health: '/api/data-retention/health',
metrics: '/api/data-retention/metrics',
stats: '/api/data-retention/stats'
}
},
documentation: '/api/docs'
});
});
module.exports = router;