Skip to content

Commit a6178e3

Browse files
committed
#740 - fix for new user
1 parent f04d7db commit a6178e3

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

avni-server-api/src/main/java/org/avni/server/dao/UserRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,7 @@ default User getDefaultSuperAdmin() {
140140

141141
@Query(value = "select * from users where lower(users.settings->>'idPrefix') = lower(:prefix) and id <> :exceptUserId", nativeQuery = true)
142142
List<User> getUsersWithSameIdPrefix(String prefix, long exceptUserId);
143+
144+
@Query(value = "select * from users where lower(users.settings->>'idPrefix') = lower(:prefix)", nativeQuery = true)
145+
List<User> getUsersWithSameIdPrefix(String prefix);
143146
}

avni-server-api/src/main/java/org/avni/server/service/UserService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ public User save(User user) {
5252
String idPrefix = UserSettings.getIdPrefix(user.getSettings());
5353
if (StringUtils.hasLength(idPrefix)) {
5454
synchronized (String.format("%d-USER-ID-PREFIX-%s", user.getOrganisationId(), idPrefix).intern()) {
55-
List<User> usersWithSameIdPrefix = userRepository.getUsersWithSameIdPrefix(idPrefix, user.getId());
56-
if (usersWithSameIdPrefix.size() == 0) {
55+
List<User> usersWithSameIdPrefix = user.isNew() ? userRepository.getUsersWithSameIdPrefix(idPrefix) : userRepository.getUsersWithSameIdPrefix(idPrefix, user.getId());
56+
if (usersWithSameIdPrefix.isEmpty()) {
5757
return createUpdateUser(user);
5858
} else {
5959
throw new ValidationException(String.format("There is another user %s with same prefix: %s", usersWithSameIdPrefix.get(0).getUsername(), idPrefix));

0 commit comments

Comments
 (0)