const express = require('express'); const router = express.Router(); // Import route modules const managementRoutes = require('./management'); const authRoutes = require('./auth'); 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'); // Management portal routes (before API versioning) router.use('/management', managementRoutes); // Authentication routes (multi-tenant) router.use('/auth', authRoutes); // 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); // 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); // 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' }, documentation: '/api/docs' }); }); module.exports = router;