From f306595b45d68451d1bc37fbb49d4391e1ec9daf Mon Sep 17 00:00:00 2001 From: Spycall Date: Mon, 2 Jun 2025 21:37:30 +0100 Subject: [PATCH] refactor(routes): colocate and centralize route exports with index.js - Added src/routes/index.js to re-export all route modules - Refactored server.js to use centralized route imports - Improved code readability and developer experience by enabling cleaner imports --- .gitignore | 3 ++- src/routes/index.js | 12 ++++++++++++ src/server.js | 20 +++++++++++--------- 3 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 src/routes/index.js diff --git a/.gitignore b/.gitignore index 944d78c..4c9b2f8 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ node_modules/* package-lock.json .env -node_modules \ No newline at end of file +node_modules +.qodo diff --git a/src/routes/index.js b/src/routes/index.js new file mode 100644 index 0000000..f7c87f4 --- /dev/null +++ b/src/routes/index.js @@ -0,0 +1,12 @@ +// Central export for all route modules +module.exports = { + userRoutes: require('./user.routes'), + examRoutes: require('./exam.routes'), + authRoutes: require('./auth.routes'), + registrationRoutes: require('./registration.routes'), + resultRoutes: require('./result.routes'), + notificationRoutes: require('./notification.routes'), + examBannerRoutes: require('./examBanner.routes'), + examRecordingRoutes: require('./examRecording.routes'), + indexerRoutes: require('./indexer.routes'), +}; diff --git a/src/server.js b/src/server.js index 216b459..f487c01 100644 --- a/src/server.js +++ b/src/server.js @@ -69,15 +69,17 @@ const startServer = async () => { // Routes logger.info('Setting up API routes...'); try { - app.use('/api/exams', require('./routes/exam.routes')); - app.use('/api/users', require('./routes/user.routes')); - app.use('/api/auth', require('./routes/auth.routes')); - app.use('/api/registrations', require('./routes/registration.routes')); - app.use('/api/results', require('./routes/result.routes')); - app.use('/api/notifications', require('./routes/notification.routes')); - app.use('/api/exam-banners', require('./routes/examBanner.routes')); - app.use('/api/exam-recordings', require('./routes/examRecording.routes')); - app.use('/api/indexer', require('./routes/indexer.routes')); // Added indexer routes + const { userRoutes, examRoutes, authRoutes, registrationRoutes, resultRoutes, notificationRoutes, examBannerRoutes, examRecordingRoutes, indexerRoutes } = require('./routes'); + + app.use('/api/exams', examRoutes); + app.use('/api/users', userRoutes); + app.use('/api/auth', authRoutes); + app.use('/api/registrations', registrationRoutes); + app.use('/api/results', resultRoutes); + app.use('/api/notifications', notificationRoutes); + app.use('/api/exam-banners', examBannerRoutes); + app.use('/api/exam-recordings', examRecordingRoutes); + app.use('/api/indexer', indexerRoutes); // Added indexer routes logger.info('API routes set up successfully'); } catch (routeError) { logger.error(`Route setup failed: ${routeError.message}`);