#!/usr/bin/env bash
set -euo pipefail

if [ $# -ne 1 ]; then
    echo "Usage: $0 <email>"
    exit 1
fi

EMAIL="$1"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
AUTH0_CLI_DIR="$SCRIPT_DIR/../lambda/auth0_cli"

echo "Searching for user: $EMAIL"
SEARCH_OUTPUT=$(cd "$AUTH0_CLI_DIR" && uv run auth0-cli search-user-by-email -e "$EMAIL" 2>&1 | grep -v INFO)

if [ -z "$SEARCH_OUTPUT" ]; then
    echo "No users found for $EMAIL"
    exit 0
fi

echo "$SEARCH_OUTPUT" | jq -r 'to_entries[] | .key as $tenant | .value[] | [$tenant, .user_id] | @tsv' | \
while IFS=$'\t' read -r tenant user_id; do
    echo "Deleting user $user_id from tenant $tenant..."
    (cd "$AUTH0_CLI_DIR" && uv run auth0-cli delete-user-by-id --user-id "$user_id" --tenant "$tenant" 2>&1 | grep -v INFO)
done

echo "Done."
