Files
meet-hub/test-otp-flow.sh
dwindown 08e56a22d8 Fix send-auth-otp: Remove notification_logs references
- Remove notification_logs table references (table doesn't exist)
- This was causing the function to crash after sending email
- Now the function should complete successfully
- Added better email payload logging
- Keep .env file for local development
2026-01-02 15:07:41 +07:00

105 lines
3.0 KiB
Bash
Executable File

#!/bin/bash
# Test OTP Email Flow
# This script tests the complete OTP email verification flow
echo "🔐 Testing OTP Email Verification Flow"
echo "========================================"
echo ""
# Configuration
SUPABASE_URL="https://lovable.backoffice.biz.id"
# You need to get your service role key from Coolify/Docker
SERVICE_KEY="YOUR_SERVICE_ROLE_KEY_HERE"
echo "⚠️ IMPORTANT: Replace YOUR_SERVICE_ROLE_KEY_HERE with your actual service role key"
echo " You can find it in Coolify → Supabase service → Environment variables"
echo ""
# Step 1: Register a test user (using curl)
echo "Step 1: Creating test user..."
echo "Run this in Supabase SQL Editor first:"
echo ""
echo "-- Clean up any existing test user"
echo "DELETE FROM auth_otps WHERE email = 'test@example.com';"
echo "DELETE FROM auth.users WHERE email = 'test@example.com';"
echo ""
# Step 2: Test the send-auth-otp edge function
echo "Step 2: Testing send-auth-otp edge function..."
echo ""
echo "Replace USER_ID with the actual UUID from step 1, then run:"
echo ""
echo "curl -X POST ${SUPABASE_URL}/functions/v1/send-auth-otp \\"
echo " -H \"Authorization: Bearer \${SERVICE_KEY}\" \\"
echo " -H \"Content-Type: application/json\" \\"
echo " -d '{"
echo " \"user_id\": \"USER_UUID_HERE\","
echo " \"email\": \"test@example.com\""
echo " }'"
echo ""
# Step 3: Check if OTP was created
echo "Step 3: Check if OTP was created in database..."
echo "Run this in Supabase SQL Editor:"
echo ""
echo "SELECT"
echo " id,"
echo " user_id,"
echo " email,"
echo " otp_code,"
echo " expires_at,"
echo " used_at,"
echo " created_at"
echo "FROM auth_otps"
echo "WHERE email = 'test@example.com'"
echo "ORDER BY created_at DESC"
echo "LIMIT 1;"
echo ""
# Step 4: Check notification settings
echo "Step 4: Check notification settings..."
echo "Run this in Supabase SQL Editor:"
echo ""
echo "SELECT"
echo " id,"
echo " platform_name,"
echo " from_name,"
echo " from_email,"
echo " api_token,"
echo " mailketing_api_token"
echo "FROM notification_settings"
echo "LIMIT 1;"
echo ""
# Step 5: Check email template
echo "Step 5: Check email template..."
echo "Run this in Supabase SQL Editor:"
echo ""
echo "SELECT"
echo " key,"
echo " name,"
echo " is_active,"
echo " email_subject,"
echo " LENGTH(email_body_html) as html_length"
echo "FROM notification_templates"
echo "WHERE key = 'auth_email_verification';"
echo ""
echo "========================================"
echo "Common Issues:"
echo "========================================"
echo ""
echo "1. If curl returns 404: Edge function not deployed"
echo " Solution: Deploy the function from your server"
echo ""
echo "2. If curl returns 401: Invalid service role key"
echo " Solution: Check SERVICE_KEY is correct"
echo ""
echo "3. If curl returns 500: Check edge function logs"
echo " Solution: SSH into server and check Docker logs"
echo ""
echo "4. If OTP created but no email: Mailketing API issue"
echo " Solution: Check api_token in notification_settings"
echo ""