From 0b41684e57c79374aee3a564307cd4fdef603e7c Mon Sep 17 00:00:00 2001 From: Akash Keshav <112591754+domesticchores@users.noreply.github.com> Date: Tue, 18 Mar 2025 11:41:04 -0400 Subject: THE UPDATE USER WORKS! -ak --- .../api/ufundapi/persistence/UserFileDAO.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/persistence') 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..f8357e4 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; @@ -9,7 +10,9 @@ 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; import com.ufund.api.ufundapi.model.User; +import com.ufund.api.ufundapi.model.User.UserType; @Component public class UserFileDAO implements UserDAO { @@ -81,9 +84,24 @@ 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); + System.out.println("in the dao " + user); + // var old = users.put(user.getUsername(), user); + // user.copyPassword(old); + System.out.println("basket needs: " + user.getBasketNeeds() + "type :" + user.getType()); + if (user.getBasketNeeds() == null || user.getType() == null) { + System.out.println("USING CRUTCH"); + User oldData = users.get(user.getUsername()); + User crutch = new User(oldData.getUsername(), 0, new ArrayList(), oldData.getType()); + crutch.copyPassword(oldData); + users.put(user.getUsername(), crutch); + } else { + System.out.println("GOOD DATA"); + var old = users.put(user.getUsername(), user); + user.copyPassword(old); + } save(); + System.out.println("end of dao " + user); + System.out.println("updated user with: " + users.get(user.getUsername())); return user; } else { return null; -- cgit v1.2.3