fix: Implement comprehensive edit event button functionality and resolve authentication issues
Major fixes and improvements: - Fixed edit event button functionality with proper event handlers and DOM ready state checking - Added status column to tickets table via Supabase migration to resolve 500 API errors - Updated stats API to correctly calculate revenue from decimal price values - Resolved authentication redirect loops by fixing cookie configuration for Docker environment - Fixed Permissions-Policy header syntax errors - Added comprehensive debugging and error handling for event management - Implemented modal-based event editing with form validation and API integration - Enhanced event data loading with proper error handling and user feedback 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
188
scripts/cleanup-old-auth.js
Normal file
188
scripts/cleanup-old-auth.js
Normal file
@@ -0,0 +1,188 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Cleanup Script for Old Authentication System
|
||||
*
|
||||
* This script helps remove old authentication files after successful migration
|
||||
* to the new modular auth system.
|
||||
*
|
||||
* Usage: node scripts/cleanup-old-auth.js [--dry-run]
|
||||
*/
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const OLD_AUTH_FILES = [
|
||||
'src/lib/auth-unified.ts',
|
||||
'src/lib/auth.ts',
|
||||
'src/lib/simple-auth.ts',
|
||||
'src/lib/super-admin-auth.ts',
|
||||
'src/lib/territory-manager-auth.ts',
|
||||
'src/components/ProtectedRoute.astro',
|
||||
'src/components/AuthLoader.astro',
|
||||
'src/pages/api/auth/login.ts',
|
||||
'src/pages/api/auth/logout.ts',
|
||||
'src/pages/api/auth/session.ts',
|
||||
'src/pages/api/admin/auth-check.ts',
|
||||
];
|
||||
|
||||
const OLD_API_FILES = [
|
||||
'src/lib/api-client.ts',
|
||||
'src/lib/api-router.ts',
|
||||
'src/lib/admin-api-router.ts',
|
||||
'src/lib/territory-manager-api.ts',
|
||||
'src/lib/territory-manager-router.ts',
|
||||
];
|
||||
|
||||
const DEPRECATED_FILES = [
|
||||
'src/lib/super-admin-types.ts',
|
||||
'src/lib/super-admin-utils.ts',
|
||||
'src/lib/territory-manager-types.ts',
|
||||
];
|
||||
|
||||
function main() {
|
||||
const args = process.argv.slice(2);
|
||||
const dryRun = args.includes('--dry-run');
|
||||
|
||||
console.log('🧹 Old Authentication System Cleanup');
|
||||
console.log('=====================================');
|
||||
|
||||
if (dryRun) {
|
||||
console.log('🔍 DRY RUN MODE - No files will be deleted');
|
||||
console.log('');
|
||||
}
|
||||
|
||||
// Check for new auth system
|
||||
if (!fs.existsSync('src/lib/auth/index.ts')) {
|
||||
console.error('❌ New auth system not found at src/lib/auth/index.ts');
|
||||
console.error('Please ensure the new auth system is properly installed before cleanup.');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log('✅ New auth system found');
|
||||
console.log('');
|
||||
|
||||
// Cleanup old auth files
|
||||
console.log('📁 Cleaning up old authentication files:');
|
||||
cleanupFiles(OLD_AUTH_FILES, dryRun);
|
||||
|
||||
console.log('');
|
||||
console.log('📁 Cleaning up old API client files:');
|
||||
cleanupFiles(OLD_API_FILES, dryRun);
|
||||
|
||||
console.log('');
|
||||
console.log('📁 Cleaning up deprecated files:');
|
||||
cleanupFiles(DEPRECATED_FILES, dryRun);
|
||||
|
||||
console.log('');
|
||||
console.log('🔍 Checking for remaining references...');
|
||||
checkForReferences();
|
||||
|
||||
console.log('');
|
||||
if (dryRun) {
|
||||
console.log('🔍 Dry run completed. Run without --dry-run to perform cleanup.');
|
||||
} else {
|
||||
console.log('✅ Cleanup completed successfully!');
|
||||
console.log('');
|
||||
console.log('Next steps:');
|
||||
console.log('1. Run your tests to ensure everything works');
|
||||
console.log('2. Update any remaining import statements');
|
||||
console.log('3. Review and update documentation');
|
||||
console.log('4. Deploy to staging for testing');
|
||||
}
|
||||
}
|
||||
|
||||
function cleanupFiles(files, dryRun) {
|
||||
let deletedCount = 0;
|
||||
let skippedCount = 0;
|
||||
|
||||
for (const file of files) {
|
||||
if (fs.existsSync(file)) {
|
||||
if (dryRun) {
|
||||
console.log(` 🗑️ Would delete: ${file}`);
|
||||
} else {
|
||||
try {
|
||||
fs.unlinkSync(file);
|
||||
console.log(` ✅ Deleted: ${file}`);
|
||||
deletedCount++;
|
||||
} catch (error) {
|
||||
console.error(` ❌ Failed to delete ${file}: ${error.message}`);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.log(` ⏭️ Not found: ${file}`);
|
||||
skippedCount++;
|
||||
}
|
||||
}
|
||||
|
||||
if (!dryRun) {
|
||||
console.log(` 📊 Deleted: ${deletedCount}, Skipped: ${skippedCount}`);
|
||||
}
|
||||
}
|
||||
|
||||
function checkForReferences() {
|
||||
const filesToCheck = [
|
||||
'src/pages/login.astro',
|
||||
'src/pages/dashboard.astro',
|
||||
'src/layouts/SecureLayout.astro',
|
||||
'src/components/Navigation.astro',
|
||||
];
|
||||
|
||||
const oldImports = [
|
||||
'auth-unified',
|
||||
'simple-auth',
|
||||
'super-admin-auth',
|
||||
'territory-manager-auth',
|
||||
'api-client',
|
||||
'api-router',
|
||||
'admin-api-router',
|
||||
'ProtectedRoute',
|
||||
'AuthLoader',
|
||||
];
|
||||
|
||||
let foundReferences = false;
|
||||
|
||||
for (const file of filesToCheck) {
|
||||
if (fs.existsSync(file)) {
|
||||
const content = fs.readFileSync(file, 'utf8');
|
||||
|
||||
for (const importName of oldImports) {
|
||||
if (content.includes(importName)) {
|
||||
console.log(` ⚠️ Found reference to '${importName}' in ${file}`);
|
||||
foundReferences = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!foundReferences) {
|
||||
console.log(' ✅ No old auth references found in key files');
|
||||
} else {
|
||||
console.log(' ⚠️ Please update the files above to use the new auth system');
|
||||
}
|
||||
}
|
||||
|
||||
// Backup function
|
||||
function createBackup() {
|
||||
const backupDir = `backups/auth-backup-${Date.now()}`;
|
||||
fs.mkdirSync(backupDir, { recursive: true });
|
||||
|
||||
const allFiles = [...OLD_AUTH_FILES, ...OLD_API_FILES, ...DEPRECATED_FILES];
|
||||
|
||||
for (const file of allFiles) {
|
||||
if (fs.existsSync(file)) {
|
||||
const backupPath = path.join(backupDir, file);
|
||||
const backupDirPath = path.dirname(backupPath);
|
||||
|
||||
fs.mkdirSync(backupDirPath, { recursive: true });
|
||||
fs.copyFileSync(file, backupPath);
|
||||
console.log(` 💾 Backed up: ${file} -> ${backupPath}`);
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`✅ Backup created in ${backupDir}`);
|
||||
}
|
||||
|
||||
if (require.main === module) {
|
||||
main();
|
||||
}
|
||||
Reference in New Issue
Block a user