aboutsummaryrefslogtreecommitdiff
path: root/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence
diff options
context:
space:
mode:
Diffstat (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/persistence')
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserDAO.java10
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java7
2 files changed, 17 insertions, 0 deletions
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserDAO.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserDAO.java
index 29d46cf..27ba0b9 100644
--- a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserDAO.java
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserDAO.java
@@ -34,6 +34,16 @@ public interface UserDAO {
User getUser(String username) throws IOException;
/**
+ * Retrieves the total count of users
+ *
+ * @return a {@link int amount} number of users
+ * <br>
+ *
+ * @throws IOException if an issue with underlying storage
+ */
+ int getUserCount() throws IOException;
+
+ /**
* Creates and saves a {@linkplain User user}
*
* @param user {@linkplain User user} object to be created and saved
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java
index ec94da8..7f1fadd 100644
--- a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java
@@ -58,6 +58,13 @@ public class UserFileDAO implements UserDAO {
}
@Override
+ public int getUserCount() {
+ synchronized (users) {
+ return users.size();
+ }
+ }
+
+ @Override
public User getUser(String username) {
synchronized (users) {
return users.getOrDefault(username, null);