Fix: Implement orphaned password email fix

This commit is contained in:
gpt-engineer-app[bot]
2025-10-14 16:58:31 +00:00
parent 1c4b1a457f
commit 32fc2b583d

View File

@@ -308,15 +308,43 @@ export async function triggerOrphanedPasswordConfirmation(
console.log('[IdentityService] Triggering email confirmation for orphaned password');
const { error } = await supabase.auth.updateUser({
email: user.email
});
// Step 1: Get user profile for email personalization
const { data: profile } = await supabase
.from('profiles')
.select('display_name, username')
.eq('user_id', user.id)
.single();
if (error) throw error;
// Step 2: Send password confirmation email via edge function
console.log('[IdentityService] Invoking send-password-added-email edge function');
const { data: emailData, error: emailError } = await supabase.functions.invoke(
'send-password-added-email',
{
body: {
email: user.email,
displayName: profile?.display_name,
username: profile?.username,
},
}
);
if (emailError) {
console.error('[IdentityService] Edge function invocation failed:', emailError);
throw new Error(emailError.message || 'Failed to send confirmation email');
}
if (emailData && !emailData.success) {
console.error('[IdentityService] Edge function returned error:', emailData.error);
throw new Error(emailData.error || 'Email service returned an error');
}
console.log('[IdentityService] Confirmation email sent successfully');
// Step 3: Log the action for audit trail
await logIdentityChange(user.id, 'orphaned_password_confirmation_triggered', {
method: source || 'manual_button_click',
timestamp: new Date().toISOString()
timestamp: new Date().toISOString(),
email_sent: true
});
return {