diff options
Diffstat (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java')
-rw-r--r-- | ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java | 14 |
1 files changed, 12 insertions, 2 deletions
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 f809aac..6e900aa 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,6 +2,7 @@ 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; @@ -81,8 +82,17 @@ 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); + // 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); + } save(); return user; } else { |