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

Commit 54662c0

Browse files
committed
Add "Business User" role to new business users
The regSource field during registration in accounts-app determines this
1 parent 5fb4fbf commit 54662c0

File tree

8 files changed

+574
-0
lines changed

8 files changed

+574
-0
lines changed

.idea/.gitignore

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/identity-service.iml

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 508 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/profiles_settings.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

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)