From 665ffefd3e3038b0f78f9ab5bdd87dbfda585dc3 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Mon, 27 Apr 2026 14:46:20 +0200 Subject: [PATCH] refactor: use AccountService for display name in OnboardingService Co-Authored-By: Claude Sonnet 4.6 --- .../saas/onboarding/OnboardingService.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/siegeln/cameleer/saas/onboarding/OnboardingService.java b/src/main/java/net/siegeln/cameleer/saas/onboarding/OnboardingService.java index fb65762..87d8a70 100644 --- a/src/main/java/net/siegeln/cameleer/saas/onboarding/OnboardingService.java +++ b/src/main/java/net/siegeln/cameleer/saas/onboarding/OnboardingService.java @@ -1,5 +1,6 @@ package net.siegeln.cameleer.saas.onboarding; +import net.siegeln.cameleer.saas.account.AccountService; import net.siegeln.cameleer.saas.identity.LogtoManagementClient; import net.siegeln.cameleer.saas.tenant.TenantEntity; import net.siegeln.cameleer.saas.tenant.dto.CreateTenantRequest; @@ -8,7 +9,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; -import java.util.Map; import java.util.UUID; /** @@ -23,11 +23,14 @@ public class OnboardingService { private final VendorTenantService vendorTenantService; private final LogtoManagementClient logtoClient; + private final AccountService accountService; public OnboardingService(VendorTenantService vendorTenantService, - LogtoManagementClient logtoClient) { + LogtoManagementClient logtoClient, + AccountService accountService) { this.vendorTenantService = vendorTenantService; this.logtoClient = logtoClient; + this.accountService = accountService; } public TenantEntity createTrialTenant(String name, String slug, String logtoUserId) { @@ -55,12 +58,12 @@ public class OnboardingService { log.info("Added user {} as owner of tenant {}", logtoUserId, slug); // Set display name from email if not already set (email-registered users have no name) - var user = logtoClient.getUser(logtoUserId); - if (user != null && (user.get("name") == null || String.valueOf(user.get("name")).isBlank())) { - String email = String.valueOf(user.getOrDefault("primaryEmail", "")); + var profile = accountService.getProfile(logtoUserId); + if (profile.name() == null || profile.name().isBlank()) { + String email = profile.email(); if (!email.isBlank() && email.contains("@")) { String displayName = email.substring(0, email.indexOf('@')); - logtoClient.updateUserProfile(logtoUserId, Map.of("name", displayName)); + accountService.updateDisplayName(logtoUserId, displayName); log.info("Set display name '{}' for user {}", displayName, logtoUserId); } }