Skip to content
This repository was archived by the owner on Dec 9, 2025. It is now read-only.

Commit 0f3ef84

Browse files
committed
Merge branch 'dev' into dev-pg
2 parents 4551882 + 589ee52 commit 0f3ef84

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/main/java/com/appirio/tech/core/service/identity/resource/UserResource.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,11 @@ public ApiResponse createObject(
497497
assignDefaultUserRole(user); // Add Topcoder User role if the user was auto-activated
498498
}
499499

500+
// Add business user role if needed
501+
if (user.getRegSource().matches("tcBusiness")) {
502+
assignRoleByName("Business User", user);
503+
}
504+
500505
// publish event
501506
publishUserEvent("event.user.created", user);
502507

@@ -1672,4 +1677,26 @@ private void assignDefaultUserRole(User user) {
16721677
logger.error("Unable to assign default user role to user " + user.getId(), e);
16731678
}
16741679
}
1680+
1681+
private void assignRoleByName(String roleName, User user) {
1682+
Role role = roleDao.findRoleByName(roleName);
1683+
if (role == null) {
1684+
logger.error("No role found for '" + roleName + "'");
1685+
throw new IllegalStateException("Unable to assign user role " + roleName);
1686+
}
1687+
long roleId = Long.parseLong(role.getId().toString());
1688+
1689+
try {
1690+
long userId = Long.parseLong(user.getId().toString());
1691+
int rows = roleDao.assignRole(roleId, userId, userId);
1692+
1693+
if (rows == 0) {
1694+
logger.error("No assignment row created when assigning '" + roleName + "' role to user " + userId);
1695+
} else if (logger.isDebugEnabled()) {
1696+
logger.debug(String.format("Created role assignment for user %d", userId));
1697+
}
1698+
} catch (Exception e) {
1699+
logger.error("Unable to assign '" + roleName + "' role to user " + user.getId(), e);
1700+
}
1701+
}
16751702
}

0 commit comments

Comments
 (0)