Skip to content

Commit b8b9b7c

Browse files
committed
#938 | Upsert metabase user on user creation
1 parent c3d2fb0 commit b8b9b7c

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

avni-server-api/src/main/java/org/avni/server/web/UserController.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)