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; 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 { medusaLoginOrRegister } = await import('../../features/medusa-storefront/src/lib/data/customer');
const medusaAccountId = await medusaLoginOrRegister({ const medusaAccountId = await medusaLoginOrRegister({
email: user.email, email: user.email,
supabaseUserId: user.id, supabaseUserId: user.id,
@@ -221,7 +214,8 @@ class AuthCallbackService {
lastName: accountData?.last_name ?? '-', 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 const { error: updateError } = await this.client
.schema('medreport') .schema('medreport')
.from('accounts') .from('accounts')
@@ -235,6 +229,9 @@ class AuthCallbackService {
} }
console.log('Successfully set up Medusa account for Keycloak user:', medusaAccountId); 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) { } catch (error) {
console.error('Error setting up Medusa account for Keycloak user:', error); console.error('Error setting up Medusa account for Keycloak user:', error);
} }