Added methods for count users
This commit is contained in:
parent
65c78df852
commit
3faa88734d
@ -21,4 +21,8 @@ public interface UserRepository {
|
||||
List<User> usersOf(Room room);
|
||||
|
||||
List<User> search(String input);
|
||||
|
||||
int countAllUsers();
|
||||
|
||||
Map<String, Integer> countUsersForNodes();
|
||||
}
|
||||
|
||||
@ -151,6 +151,30 @@ public class UserRepositoryImpl implements UserRepository {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countAllUsers() {
|
||||
lock.readLock().lock();
|
||||
try {
|
||||
return usersMap.size();
|
||||
} finally {
|
||||
lock.readLock().unlock();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Integer> countUsersForNodes() {
|
||||
var map = new HashMap<String, Integer>();
|
||||
|
||||
lock.readLock().lock();
|
||||
try {
|
||||
roomUsers.forEach((path, users) -> map.put(path.node, users.size()));
|
||||
} finally {
|
||||
lock.readLock().unlock();
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
private record NodeRoomPath(String node, String bucket) {
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user