DROP TRIGGER IF EXISTS inbound_payments_financial_state_transition ON inbound_payments;
DROP TRIGGER IF EXISTS crypto_travel_rule_transfers_financial_state_transition ON crypto_travel_rule_transfers;
DROP TRIGGER IF EXISTS crypto_chain_transactions_financial_state_transition ON crypto_chain_transactions;
DROP TRIGGER IF EXISTS fx_conversions_financial_state_transition ON fx_conversions;
DROP TRIGGER IF EXISTS fx_quotes_financial_state_transition ON fx_quotes;
DROP TRIGGER IF EXISTS card_disputes_financial_state_transition ON card_disputes;
DROP TRIGGER IF EXISTS card_authorizations_financial_state_transition ON card_authorizations;
DROP TRIGGER IF EXISTS virtual_cards_financial_state_transition ON virtual_cards;
DROP TRIGGER IF EXISTS savings_goals_financial_state_transition ON savings_goals;
DROP TRIGGER IF EXISTS wallet_adjustment_requests_financial_state_transition ON wallet_balance_adjustment_requests;
DROP TRIGGER IF EXISTS payment_review_cases_financial_state_transition ON payment_review_cases;

DROP FUNCTION IF EXISTS enforce_financial_status_transition();
DROP TABLE IF EXISTS financial_state_machine_transitions;

DROP INDEX IF EXISTS payment_status_events_status_created_at_idx;
DROP INDEX IF EXISTS crypto_chain_transactions_wallet_status_idx;
DROP INDEX IF EXISTS card_issuer_webhook_events_processed_at_idx;
DROP INDEX IF EXISTS card_authorizations_status_created_at_idx;
DROP INDEX IF EXISTS auth_sessions_active_expiry_idx;
DROP INDEX IF EXISTS audit_events_target_created_at_idx;
DROP INDEX IF EXISTS audit_events_type_created_at_idx;
DROP INDEX IF EXISTS inbound_payments_status_created_at_idx;
DROP INDEX IF EXISTS sepa_provider_report_items_report_processed_idx;
DROP INDEX IF EXISTS transfers_settlement_due_cover_idx;
DROP INDEX IF EXISTS transfers_user_status_created_at_idx;
DROP INDEX IF EXISTS transfers_status_created_at_idx;

DELETE FROM privacy_data_inventory
WHERE system_name = 'banking_api'
    AND table_name IN (
        'database_release_migration_plans',
        'database_restore_drill_evidence',
        'database_index_reviews',
        'data_archival_policies',
        'financial_state_machine_transitions'
    );

DROP TABLE IF EXISTS data_archival_policies;
DROP TABLE IF EXISTS database_index_reviews;
DROP TABLE IF EXISTS database_restore_drill_evidence;
DROP TABLE IF EXISTS database_release_migration_plans;
