const express = require('express'); // const cors = require('cors'); // Using custom cors middleware const authRoutes = require('./routes/auth'); const fileRoutes = require('./routes/files'); const shareRoutes = require('./routes/share'); const syncRoutes = require('./routes/sync'); const previewRoutes = require('./routes/preview'); const userRoutes = require('./routes/user'); const searchRoutes = require('./routes/search'); const batchRoutes = require('./routes/batch'); const trashRoutes = require('./routes/trash'); const statsRoutes = require('./routes/stats'); const recentRoutes = require('./routes/recent'); const renameRoutes = require('./routes/rename'); const copyRoutes = require('./routes/copy'); const folderRoutes = require('./routes/folder'); const healthRoutes = require('./routes/health'); const versionRoutes = require('./routes/version'); const errorHandler = require('./middleware/errorHandler'); const logger = require('./middleware/logger'); const app = express(); const PORT = process.env.PORT || 3000; const corsMiddleware = require('./middleware/cors'); app.use(corsMiddleware); const rateLimitMiddleware = require('./middleware/rateLimit'); app.use(rateLimitMiddleware); app.use(express.json()); app.use(logger); app.use('/api/auth', authRoutes); app.use('/api/files', fileRoutes); app.use('/api/share', shareRoutes); app.use('/api/sync', syncRoutes); app.use('/api/preview', previewRoutes); app.use('/api/user', userRoutes); app.use('/api/search', searchRoutes); app.use('/api/batch', batchRoutes); app.use('/api/trash', trashRoutes); app.use('/api/stats', statsRoutes); app.use('/api/recent', recentRoutes); app.use('/api/rename', renameRoutes); app.use('/api/copy', copyRoutes); app.use('/api/folder', folderRoutes); app.use('/api/health', healthRoutes); app.use('/api/version', versionRoutes); app.use(errorHandler); app.get('/api/health', (req, res) => { res.json({ status: 'ok' }); }); app.listen(PORT, () => { console.log(`CloudDisk API running on port ${PORT}`); }); module.exports = app;