aboutsummaryrefslogtreecommitdiff
path: root/ufund-api/src/main/java/com/ufund/api/ufundapi/service
diff options
context:
space:
mode:
authorGunther6070 <haydenhartman10@yahoo.com>2025-03-06 17:24:15 -0500
committerGunther6070 <haydenhartman10@yahoo.com>2025-03-06 17:24:15 -0500
commite9d5addc7a0b65c426803171471ca5a042b73c93 (patch)
tree588f4a78eecb89fdf3de9b70f6742cf8513fb895 /ufund-api/src/main/java/com/ufund/api/ufundapi/service
parentd2539df788d97e23dedd06cf42eca92c4aa08112 (diff)
downloadJellySolutions-e9d5addc7a0b65c426803171471ca5a042b73c93.tar.gz
JellySolutions-e9d5addc7a0b65c426803171471ca5a042b73c93.tar.bz2
JellySolutions-e9d5addc7a0b65c426803171471ca5a042b73c93.zip
Migrated auth controller methods to auth service
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.java38
1 files changed, 37 insertions, 1 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 caf1edd..2e644ee 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,5 +1,41 @@
package com.ufund.api.ufundapi.service;
+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 {
-
+
+ private final UserAuthDAO userAuthDAO;
+ private final UserService userService;
+
+ public AuthService(UserAuthDAO userAuthDAO, UserService userService) {
+ this.userAuthDAO = userAuthDAO;
+ this.userService = userService;
+ }
+
+ public UserAuth getUserAuth(String key) {
+ return userAuthDAO.getUserAuth(key);
+ }
+
+ public void authenticate(String username, String key) throws IllegalAccessException {
+ var userAuth = getUserAuth(key);
+ if (userAuth == null || !userAuth.getUsername().equals(username)) {
+ throw new IllegalAccessException("Unauthorized");
+ }
+ }
+
+ public String login(String username, String password) throws IllegalAccessException, IOException {
+ var usr = userService.getUser(username);
+ if (usr == null || !usr.verifyPassword(password)) {
+ throw new IllegalAccessException("Unauthorized");
+ }
+ var userAuth = UserAuth.generate(username);
+ userAuthDAO.addUserAuth(userAuth);
+ return userAuth.getKey();
+ }
+
}