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> usersOf(Room room);
|
||||||
|
|
||||||
List<User> search(String input);
|
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) {
|
private record NodeRoomPath(String node, String bucket) {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user