Fix API token mapping and add extensive debug logging
- Fixed api_token vs mailketing_api_token column mapping - Added comprehensive debug logging to send-auth-otp - Added fallback logic for missing settings fields - Improved error messages for troubleshooting 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -44,7 +44,12 @@ serve(async (req: Request) => {
|
||||
// Initialize Supabase client with service role
|
||||
const supabaseUrl = Deno.env.get('SUPABASE_URL')!;
|
||||
const supabaseServiceKey = Deno.env.get('SUPABASE_SERVICE_ROLE_KEY')!;
|
||||
const supabase = createClient(supabaseUrl, supabaseServiceKey);
|
||||
const supabase = createClient(supabaseUrl, supabaseServiceKey, {
|
||||
auth: {
|
||||
autoRefreshToken: false,
|
||||
persistSession: false
|
||||
}
|
||||
});
|
||||
|
||||
// Generate OTP code
|
||||
const otpCode = generateOTP();
|
||||
@@ -79,12 +84,16 @@ serve(async (req: Request) => {
|
||||
}
|
||||
|
||||
// Get email template
|
||||
console.log('Fetching email template with key: auth_email_verification');
|
||||
|
||||
const { data: template, error: templateError } = await supabase
|
||||
.from('notification_templates')
|
||||
.select('*')
|
||||
.eq('key', 'auth_email_verification')
|
||||
.single();
|
||||
|
||||
console.log('Template query result:', { template, templateError });
|
||||
|
||||
if (templateError || !template) {
|
||||
console.error('Error fetching email template:', templateError);
|
||||
throw new Error('Email template not found. Please create template with key: auth_email_verification');
|
||||
@@ -123,6 +132,21 @@ serve(async (req: Request) => {
|
||||
|
||||
// Send email via send-email-v2
|
||||
console.log(`Sending OTP email to ${email}`);
|
||||
console.log('Settings:', {
|
||||
hasMailketingToken: !!settings.mailketing_api_token,
|
||||
hasApiToken: !!settings.api_token,
|
||||
hasFromName: !!settings.from_name,
|
||||
hasFromEmail: !!settings.from_email,
|
||||
platformName: settings.platform_name,
|
||||
allSettings: JSON.stringify(settings)
|
||||
});
|
||||
|
||||
// Use api_token (not mailketing_api_token)
|
||||
const apiToken = settings.api_token || settings.mailketing_api_token;
|
||||
|
||||
if (!apiToken) {
|
||||
throw new Error('API token not found in notification_settings');
|
||||
}
|
||||
|
||||
const emailResponse = await fetch(`${supabaseUrl}/functions/v1/send-email-v2`, {
|
||||
method: 'POST',
|
||||
@@ -132,9 +156,9 @@ serve(async (req: Request) => {
|
||||
},
|
||||
body: JSON.stringify({
|
||||
to: email,
|
||||
api_token: settings.mailketing_api_token,
|
||||
from_name: settings.from_name,
|
||||
from_email: settings.from_email,
|
||||
api_token: apiToken,
|
||||
from_name: settings.from_name || settings.platform_name || 'Admin',
|
||||
from_email: settings.from_email || 'noreply@example.com',
|
||||
subject: subject,
|
||||
html_body: htmlBody,
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user