From 41ae88d1bc2a8ee2b0b90fc40246d240f138aef0 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Thu, 30 Oct 2025 15:18:29 +0000 Subject: [PATCH] Add emergency cleanup button --- src/components/admin/TestDataGenerator.tsx | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/src/components/admin/TestDataGenerator.tsx b/src/components/admin/TestDataGenerator.tsx index 732e8d70..455ca8cb 100644 --- a/src/components/admin/TestDataGenerator.tsx +++ b/src/components/admin/TestDataGenerator.tsx @@ -14,6 +14,7 @@ import { useToast } from '@/hooks/use-toast'; import { getErrorMessage } from '@/lib/errorHandler'; import { Beaker, CheckCircle, ChevronDown, Trash2, AlertTriangle } from 'lucide-react'; import { clearTestData, getTestDataStats } from '@/lib/testDataGenerator'; +import { TestDataTracker } from '@/lib/integrationTests/TestDataTracker'; import { logger } from '@/lib/logger'; const PRESETS = { @@ -186,6 +187,29 @@ export function TestDataGenerator(): React.JSX.Element { } }; + const handleEmergencyCleanup = async (): Promise => { + setLoading(true); + + try { + const { deleted, errors } = await TestDataTracker.bulkCleanupAllTestData(); + await loadStats(); + + toast({ + title: 'Emergency Cleanup Complete', + description: `Deleted ${deleted} test records across all tables${errors > 0 ? `, ${errors} errors` : ''}` + }); + setResults(null); + } catch (error: unknown) { + toast({ + title: 'Emergency Cleanup Failed', + description: getErrorMessage(error), + variant: 'destructive' + }); + } finally { + setLoading(false); + } + }; + return ( @@ -417,6 +441,38 @@ export function TestDataGenerator(): React.JSX.Element { + + + + + + + + Emergency Cleanup - Delete ALL Test Data? + +

⚠️ This is a nuclear option!

+

This will delete ALL records marked with is_test_data: true from ALL entity tables, including:

+
    +
  • Parks, Rides, Companies (operators, manufacturers, etc.)
  • +
  • Ride Models, Photos, Reviews
  • +
  • Entity Versions, Edit History
  • +
  • Moderation Queue submissions
  • +
+

This goes far beyond the moderation queue and cannot be undone.

+

Only use this if normal cleanup fails or you need to completely reset test data.

+
+
+ + Cancel + + Delete All Test Data + + +
+