@@ -121,7 +121,11 @@ public ResponseEntity createUser(@RequestBody UserContract userContract) {
121121 }
122122 accountAdminService .createAccountAdmins (savedUser , userContract .getAccountIds ());
123123 userService .addToDefaultUserGroup (savedUser );
124- userService .associateUserToGroups (savedUser , userContract .getGroupIds ());
124+ List <UserGroup > userGroups = userService .associateUserToGroups (savedUser , userContract .getGroupIds ());
125+ if (organisationConfigService .isMetabaseSetupEnabled (UserContextHolder .getOrganisation ()) &&
126+ userGroups .stream ().anyMatch (userGroup -> userGroup .getGroupName ().contains (Group .METABASE_USERS )) ) {
127+ metabaseService .upsertUsersOnMetabase (userGroups );
128+ }
125129 logger .info (String .format ("Saved new user '%s', UUID '%s'" , userContract .getUsername (), savedUser .getUuid ()));
126130 return new ResponseEntity <>(savedUser , HttpStatus .CREATED );
127131 } catch (ValidationException | UsernameExistsException ex ) {
@@ -164,7 +168,8 @@ public ResponseEntity updateUser(@RequestBody UserContract userContract, @PathVa
164168 userService .save (user );
165169 accountAdminService .createAccountAdmins (user , userContract .getAccountIds ());
166170 List <UserGroup > associatedUserGroups = userService .associateUserToGroups (user , userContract .getGroupIds ());
167- if (organisationConfigService .isMetabaseSetupEnabled (UserContextHolder .getOrganisation ())) {
171+ if (organisationConfigService .isMetabaseSetupEnabled (UserContextHolder .getOrganisation ()) &&
172+ associatedUserGroups .stream ().anyMatch (userGroup -> userGroup .getGroupName ().contains (Group .METABASE_USERS ))) {
168173 metabaseService .upsertUsersOnMetabase (associatedUserGroups );
169174 }
170175 logger .info (String .format ("Saved user '%s', UUID '%s'" , userContract .getUsername (), user .getUuid ()));
0 commit comments