#!/usr/bin/env node /** * Activate enhanced authentication in server.js * This script safely updates the server configuration */ const fs = require('fs').promises; const path = require('path'); async function activateEnhancedAuth() { console.log('=== Activating Enhanced Authentication ===\n'); try { const serverPath = path.join(__dirname, '../server.js'); // Read current server.js let serverContent = await fs.readFile(serverPath, 'utf8'); // Backup current server.js const backupPath = `${serverPath}.backup.${Date.now()}`; await fs.writeFile(backupPath, serverContent); console.log(`✓ Created backup: ${path.basename(backupPath)}`); // Check current state if (serverContent.includes("require('./src/routes/auth-enhanced')")) { console.log('! Enhanced auth already active'); return; } // Replace auth routes import const originalLine = "const authRoutes = require('./src/routes/auth');"; const enhancedLine = "const authRoutes = require('./src/routes/auth-enhanced');"; if (!serverContent.includes(originalLine)) { console.log('✗ Could not find original auth import line'); console.log('Please manually update server.js'); return; } serverContent = serverContent.replace(originalLine, enhancedLine); console.log('✓ Updated auth routes import'); // Add cleanup job initialization after database init const dbInitLine = 'initializeDatabase()'; const cleanupAddition = ` // Initialize auth security cleanup job const { initializeCleanupJob } = require('./src/utils/authSecurity'); initializeCleanupJob(); `; if (!serverContent.includes('initializeCleanupJob')) { const dbInitIndex = serverContent.indexOf(dbInitLine); if (dbInitIndex !== -1) { const insertPoint = serverContent.indexOf('\n', dbInitIndex) + 1; serverContent = serverContent.slice(0, insertPoint) + cleanupAddition + serverContent.slice(insertPoint); console.log('✓ Added cleanup job initialization'); } } // Write updated server.js await fs.writeFile(serverPath, serverContent); console.log('✓ Updated server.js'); console.log('\n✅ Enhanced authentication activated!'); console.log('\nNext steps:'); console.log('1. Restart the backend:'); console.log(' docker-compose restart backend'); console.log('\n2. Monitor auth health:'); console.log(' node scripts/monitor-auth-health.js'); console.log('\n3. To rollback if needed:'); console.log(` cp ${path.basename(backupPath)} server.js`); console.log(' docker-compose restart backend'); } catch (error) { console.error('❌ Error activating enhanced auth:', error); } } activateEnhancedAuth();