aboutsummaryrefslogtreecommitdiff
path: root/ufund-api/src/main/java/com/ufund/api/ufundapi/service
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-03-06 22:53:36 -0500
committersowgro <tpoke.ferrari@gmail.com>2025-03-06 22:53:36 -0500
commita3fbcd713ae9a6b3f38dcc42a5c4c2f369a5d6f5 (patch)
treeed019f6dc374df3da88b1cdadaeaae92e799b96e /ufund-api/src/main/java/com/ufund/api/ufundapi/service
parent7cb123c21bef247a2216545bc18245136f2ddf78 (diff)
downloadJellySolutions-a3fbcd713ae9a6b3f38dcc42a5c4c2f369a5d6f5.tar.gz
JellySolutions-a3fbcd713ae9a6b3f38dcc42a5c4c2f369a5d6f5.tar.bz2
JellySolutions-a3fbcd713ae9a6b3f38dcc42a5c4c2f369a5d6f5.zip
more javadocs and cleanup
Diffstat (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/service')
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/service/AuthService.java12
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/service/CupboardService.java27
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/service/UserService.java47
3 files changed, 62 insertions, 24 deletions
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/service/AuthService.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/service/AuthService.java
index 7e54cfb..591d891 100644
--- a/ufund-api/src/main/java/com/ufund/api/ufundapi/service/AuthService.java
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/service/AuthService.java
@@ -1,11 +1,10 @@
package com.ufund.api.ufundapi.service;
-import java.io.IOException;
-
-import org.springframework.stereotype.Component;
-
import com.ufund.api.ufundapi.model.UserAuth;
import com.ufund.api.ufundapi.persistence.UserAuthDAO;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
@Component
public class AuthService {
@@ -24,9 +23,8 @@ public class AuthService {
* @param username The username of the user trying to be accessed.
* @param key The api key obtained by the client from logging in.
* @throws IllegalAccessException Thrown if access was denied to the user.
- * @throws IOException
- */
- public void authenticate(String username, String key) throws IllegalAccessException, IOException {
+ */
+ public void authenticate(String username, String key) throws IllegalAccessException, IOException {
var userAuth = userAuthDAO.getUserAuth(key);
if (userAuth == null || !userAuth.getUsername().equals(username)) {
throw new IllegalAccessException("Unauthorized");
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/service/CupboardService.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/service/CupboardService.java
index 6052e4f..15f8442 100644
--- a/ufund-api/src/main/java/com/ufund/api/ufundapi/service/CupboardService.java
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/service/CupboardService.java
@@ -6,22 +6,27 @@ import java.util.Arrays;
import com.ufund.api.ufundapi.model.Need;
import com.ufund.api.ufundapi.persistence.CupboardDAO;
import org.springframework.stereotype.Component;
+import com.ufund.api.ufundapi.DuplicateKeyException;
@Component
public class CupboardService {
private final CupboardDAO cupboardDAO;
- public class DuplicateKeyException extends Exception {
- public DuplicateKeyException(String message) {
- super(message);
- }
- }
-
public CupboardService(CupboardDAO cupboardDAO) {
this.cupboardDAO = cupboardDAO;
}
+ /**
+ * Creates a new Need
+ *
+ * @param name The name of the need to create
+ * @param maxGoal The max goal of the new need
+ * @param goalType The goal type of the new need
+ * @return The need that was created
+ * @throws IOException Thrown if there was any issue saving the data
+ * @throws DuplicateKeyException If there already exists a need with the same name
+ */
public Need createNeed(String name, int maxGoal, Need.GoalType goalType) throws IOException, DuplicateKeyException {
Need need = new Need(name, goalType, maxGoal);
@@ -39,6 +44,12 @@ public class CupboardService {
}
+ /**
+ * Get all the needs in the cupboard
+ *
+ * @return An array containing all needs
+ * @throws IOException Thrown if there was any issue saving the data
+ */
public Need[] getNeeds() throws IOException {
return cupboardDAO.getNeeds();
}
@@ -48,7 +59,7 @@ public class CupboardService {
*
* @param search The search substring
* @return The requested array
- * @throws IOException
+ * @throws IOException Thrown if there was any issue saving the data
*/
public Need[] searchNeeds(String search) throws IOException {
return Arrays.stream(cupboardDAO.getNeeds())
@@ -68,7 +79,7 @@ public class CupboardService {
/**
* Modify a need
- *
+ * // TODO
* @param need
* @return
* @throws IOException Thrown if there was an issue saving the changes
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/service/UserService.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/service/UserService.java
index 6af3897..776d09a 100644
--- a/ufund-api/src/main/java/com/ufund/api/ufundapi/service/UserService.java
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/service/UserService.java
@@ -2,6 +2,7 @@ package com.ufund.api.ufundapi.service;
import java.io.IOException;
+import com.ufund.api.ufundapi.DuplicateKeyException;
import com.ufund.api.ufundapi.model.User;
import com.ufund.api.ufundapi.persistence.UserDAO;
import org.springframework.stereotype.Component;
@@ -11,29 +12,57 @@ public class UserService {
private final UserDAO userDAO;
- /**
- * Create a user controller to receive REST signals
- *
- * @param userDao The Data Access Object
- */
public UserService(UserDAO userDao) {
this.userDAO = userDao;
}
- public User createUser(String username, String password) throws IOException {
+ /**
+ * Creates a new user
+ *
+ * @param username The username of the user
+ * @param password The password of the user
+ * @return The created user object
+ * @throws IOException Thrown on any problem saving the file
+ */
+ public User createUser(String username, String password) throws IOException, DuplicateKeyException {
+ if (userDAO.getUser(username) != null) {
+ throw new DuplicateKeyException("A user with this name already exists");
+ }
User user = User.create(username, password);
return userDAO.addUser(user);
}
- public User getUser(String username) throws IOException, IllegalAccessException {
+ /**
+ * Gets a user with the given username
+ *
+ * @param username The username of the user
+ * @return The user object with that username
+ * @throws IOException If there was any problem saving the file
+ */
+ public User getUser(String username) throws IOException {
return userDAO.getUser(username);
}
- public User updateUser(User user, String name) throws IllegalAccessException, IOException {
+ /**
+ * Updates a user
+ * // TODO
+ * @param user
+ * @param name
+ * @return
+ * @throws IOException Thrown if there was any issue saving the data
+ */
+ public User updateUser(User user, String name) throws IOException {
return userDAO.updateUser(user, name);
}
- public Boolean deleteUser(String username) throws IllegalAccessException, IOException {
+ /**
+ * Deletes a user
+ *
+ * @param username The username of the user to delete
+ * @return True if the user was deleted
+ * @throws IOException Thrown if there was any issue saving the data
+ */
+ public boolean deleteUser(String username) throws IOException {
return userDAO.deleteUser(username);
}