fix BO account check in case account id refers to deleted BO account

This commit is contained in:
2025-09-16 14:32:04 +03:00
parent 7e9e1ce3a0
commit 16b4589330

View File

@@ -206,14 +206,7 @@ class AuthCallbackService {
return;
}
// If user already has Medusa account, we're done
if (accountData?.medusa_account_id) {
console.log('Keycloak user already has Medusa account:', accountData.medusa_account_id);
return;
}
const { medusaLoginOrRegister } = await import('../../features/medusa-storefront/src/lib/data/customer');
const medusaAccountId = await medusaLoginOrRegister({
email: user.email,
supabaseUserId: user.id,
@@ -221,7 +214,8 @@ class AuthCallbackService {
lastName: accountData?.last_name ?? '-',
});
// Update the account with the Medusa account ID
const currentMedusaAccountId = accountData?.medusa_account_id;
if (!currentMedusaAccountId || currentMedusaAccountId !== medusaAccountId) {
const { error: updateError } = await this.client
.schema('medreport')
.from('accounts')
@@ -235,6 +229,9 @@ class AuthCallbackService {
}
console.log('Successfully set up Medusa account for Keycloak user:', medusaAccountId);
} else {
console.log('Keycloak user already has Medusa account:', accountData.medusa_account_id);
}
} catch (error) {
console.error('Error setting up Medusa account for Keycloak user:', error);
}