Files
blackcanyontickets/scripts/cleanup-old-auth.js
dzinesco dbf4b11e81 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>
2025-07-14 18:49:49 -06:00

188 lines
5.0 KiB
JavaScript

#!/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();
}