From ec4938a26b35629e245afbb8a0d7a4a2a6c92a5f Mon Sep 17 00:00:00 2001 From: Garth <244253+xgp@users.noreply.github.com> Date: Thu, 13 Feb 2025 19:25:41 +0100 Subject: [PATCH] set a default firstName and lastName for org admin user --- .../resource/OrganizationResourceProviderFactory.java | 8 +++++++- src/test/java/io/phasetwo/service/LegacySimpleHttp.java | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/phasetwo/service/resource/OrganizationResourceProviderFactory.java b/src/main/java/io/phasetwo/service/resource/OrganizationResourceProviderFactory.java index af82dad8..29a5d80a 100644 --- a/src/main/java/io/phasetwo/service/resource/OrganizationResourceProviderFactory.java +++ b/src/main/java/io/phasetwo/service/resource/OrganizationResourceProviderFactory.java @@ -8,6 +8,7 @@ import static io.phasetwo.service.resource.OrganizationAdminAuth.ROLE_VIEW_ORGANIZATION; import com.google.auto.service.AutoService; +import com.google.common.base.Strings; import io.phasetwo.service.model.OrganizationModel; import io.phasetwo.service.model.OrganizationProvider; import io.phasetwo.service.model.OrganizationRoleModel; @@ -200,9 +201,10 @@ private void organizationCreation(OrganizationModel.OrganizationCreationEvent ev .addUser( event.getRealm(), KeycloakModelUtils.generateId(), adminUsername, true, false); user.setEnabled(true); - // other defaults? email? emailVerified? attributes? user.setEmail(String.format("%s@noreply.phasetwo.io", adminUsername)); // todo dynamic email? user.setEmailVerified(true); + user.setFirstName(getDisplayName(org)); + user.setLastName("Org Admin User"); org.grantMembership(user); for (String role : DEFAULT_ORG_ROLES) { OrganizationRoleModel roleModel = org.getRoleByName(role); @@ -211,6 +213,10 @@ private void organizationCreation(OrganizationModel.OrganizationCreationEvent ev } } + private static String getDisplayName(OrganizationModel org) { + return Strings.isNullOrEmpty(org.getDisplayName()) ? org.getName() : org.getDisplayName(); + } + private void organizationRemoved(OrganizationModel.OrganizationRemovedEvent event) { // TODO anything else to do? does cascade take care of it? diff --git a/src/test/java/io/phasetwo/service/LegacySimpleHttp.java b/src/test/java/io/phasetwo/service/LegacySimpleHttp.java index 7976054b..96979ac5 100644 --- a/src/test/java/io/phasetwo/service/LegacySimpleHttp.java +++ b/src/test/java/io/phasetwo/service/LegacySimpleHttp.java @@ -220,7 +220,7 @@ private HttpRequestBase createHttpRequest() { case "PATCH": return new HttpPatch(appendParameterToUrl(url)); case "POST": - // explicit fall through as we want POST to be the default HTTP method + // explicit fall through as we want POST to be the default HTTP method default: return new HttpPost(url); }