aboutsummaryrefslogtreecommitdiff
path: root/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java
diff options
context:
space:
mode:
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.java14
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 {