diff options
Diffstat (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/persistence')
3 files changed, 27 insertions, 42 deletions
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/CupboardFileDAO.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/CupboardFileDAO.java index 521acae..7efda83 100644 --- a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/CupboardFileDAO.java +++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/CupboardFileDAO.java @@ -1,15 +1,16 @@  package com.ufund.api.ufundapi.persistence; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.ufund.api.ufundapi.model.Need; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; -  import java.io.File;  import java.io.IOException;  import java.util.Map;  import java.util.TreeMap; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.ufund.api.ufundapi.model.Need; +  @Component  public class CupboardFileDAO implements CupboardDAO { @@ -52,31 +53,20 @@ public class CupboardFileDAO implements CupboardDAO {      }      /** -     * Return an array of the needs -     * -     * @return An array of all the needs -     */ -    private Need[] getNeedsArray() { -        return needs.values().toArray(Need[]::new); -    } - -    /**       * Saves the needs to json       * -     * @return True if the save was successful, false otherwise       * @throws IOException If there was an IO issue saving the file       */ -    private boolean save() throws IOException { -        Need[] needArray = getNeedsArray(); +    private void save() throws IOException { +        Need[] needArray = needs.values().toArray(Need[]::new);          objectMapper.writeValue(new File(filename), needArray); -        return true;      }      @Override      public Need[] getNeeds() {          synchronized (needs) { -            return getNeedsArray(); +            return needs.values().toArray(Need[]::new);          }      } @@ -117,7 +107,8 @@ public class CupboardFileDAO implements CupboardDAO {          synchronized (needs) {              if (needs.containsKey(id)) {                  needs.remove(id); -                return save(); +                save(); +                return true;              } else {                  return false;              } diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserAuthFIleDAO.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserAuthFIleDAO.java index 1fc1e92..24a426b 100644 --- a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserAuthFIleDAO.java +++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserAuthFIleDAO.java @@ -1,15 +1,17 @@  package com.ufund.api.ufundapi.persistence; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.ufund.api.ufundapi.model.UserAuth; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; -  import java.io.File;  import java.io.IOException; +import java.time.LocalDateTime;  import java.util.HashMap;  import java.util.Map; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.ufund.api.ufundapi.model.UserAuth; +  @Component  public class UserAuthFIleDAO implements UserAuthDAO { @@ -35,7 +37,9 @@ public class UserAuthFIleDAO implements UserAuthDAO {          UserAuth[] userAuthKeysArray = objectMapper.readValue(new File(filename), UserAuth[].class);          for (UserAuth userAuth : userAuthKeysArray) { -            userAuthMap.put(userAuth.getKey(), userAuth); +            if (userAuth.getExpiration().isAfter(LocalDateTime.now())) { +                userAuthMap.put(userAuth.getKey(), userAuth); +            }          }      } 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 6e900aa..ec94da8 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 @@ -2,9 +2,9 @@ package com.ufund.api.ufundapi.persistence;  import java.io.File;  import java.io.IOException; -import java.util.ArrayList;  import java.util.HashMap;  import java.util.Map; +import java.util.Objects;  import org.springframework.beans.factory.annotation.Value;  import org.springframework.stereotype.Component; @@ -44,12 +44,10 @@ public class UserFileDAO implements UserDAO {      /**       * Saves the needs to json       * -     * @return True if the save was successful, false otherwise       * @throws IOException If there was an IO issue saving the file       */ -    private boolean save() throws IOException { +    private void save() throws IOException {          objectMapper.writeValue(new File(filename), users.values()); -        return true;      }      @Override @@ -82,17 +80,8 @@ public class UserFileDAO implements UserDAO {      public User updateUser(User user) throws IOException {          synchronized (users) {              if (users.containsKey(user.getUsername())) { -                // var old = users.put(user.getUsername(), user); -                // user.copyPassword(old); -                if (user.getNeeds() == null || user.getType() == null) { -                    User oldData = users.get(user.getUsername()); -                    User crutch = new User(oldData.getUsername(), 0, new ArrayList<Integer>(), oldData.getType()); -                    crutch.copyPassword(oldData); -                    users.put(user.getUsername(), crutch); -                } else { -                    var old = users.put(user.getUsername(), user); -                    user.copyPassword(old); -                } +                var old = users.put(user.getUsername(), user); +                user.copyPassword(Objects.requireNonNull(old));                  save();                  return user;              } else { @@ -106,7 +95,8 @@ public class UserFileDAO implements UserDAO {          synchronized (users) {              if (users.containsKey(username)) {                  users.remove(username); -                return save(); +                save(); +                return true;              } else {                  return false;              }  | 
