From c7ac2db02a39cf349f9434186996c93eebc17a3c Mon Sep 17 00:00:00 2001 From: Gunther6070 Date: Sun, 23 Feb 2025 15:51:28 -0500 Subject: Created UserDAO and file as well as user class --- .../main/java/com/ufund/api/ufundapi/model/User.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java') diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java new file mode 100644 index 0000000..12bbddc --- /dev/null +++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java @@ -0,0 +1,20 @@ +package com.ufund.api.ufundapi.model; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class User { + + @JsonProperty("name") private String name; + + /** + * Create a new user + * + * @param name The name of the user + */ + public User(String name) { + this.name = name; + } + + + +} -- cgit v1.2.3 From a9fed97547a698c7641aae53758deec6102f3360 Mon Sep 17 00:00:00 2001 From: Gunther6070 Date: Wed, 26 Feb 2025 12:36:23 -0500 Subject: Created user class with fields name and password --- .../java/com/ufund/api/ufundapi/model/User.java | 26 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java') diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java index 12bbddc..ed34817 100644 --- a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java +++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java @@ -4,17 +4,35 @@ import com.fasterxml.jackson.annotation.JsonProperty; public class User { - @JsonProperty("name") private String name; + @JsonProperty("name") private final String name; + @JsonProperty("password") private String password; /** * Create a new user - * - * @param name The name of the user + * + * @param name The name of the user + * @param password The password of the user + * @param id The unique ID of the user */ public User(String name) { this.name = name; } - + /** + * Create a deep copy of another user + * + * @param other The user to copy from + */ + public User(User other) { + this.name = other.name; + } + + public String getName() { + return name; + } + + public String getPassword() { + return password; + } } -- cgit v1.2.3 From 72d614074a3cd578322931af647c6f0a65a23dfd Mon Sep 17 00:00:00 2001 From: Gunther6070 Date: Wed, 26 Feb 2025 16:00:35 -0500 Subject: Tested user http calls and fixed update user --- ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java') diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java index ed34817..2086d45 100644 --- a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java +++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java @@ -12,9 +12,8 @@ public class User { * * @param name The name of the user * @param password The password of the user - * @param id The unique ID of the user */ - public User(String name) { + public User(@JsonProperty("name") String name) { this.name = name; } -- cgit v1.2.3 From 173ebb5f2efb328f96cbd17d8bbe4acc07e74b84 Mon Sep 17 00:00:00 2001 From: Gunther6070 Date: Wed, 26 Feb 2025 16:23:03 -0500 Subject: Added basket field to User --- ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java') diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java index 2086d45..011aeef 100644 --- a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java +++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java @@ -1,11 +1,14 @@ package com.ufund.api.ufundapi.model; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonProperty; public class User { @JsonProperty("name") private final String name; @JsonProperty("password") private String password; + @JsonProperty("basket") private final List basket; /** * Create a new user @@ -13,8 +16,9 @@ public class User { * @param name The name of the user * @param password The password of the user */ - public User(@JsonProperty("name") String name) { + public User(@JsonProperty("name") String name, @JsonProperty("basket") List basket) { this.name = name; + this.basket = basket; } /** @@ -24,6 +28,7 @@ public class User { */ public User(User other) { this.name = other.name; + this.basket = other.basket; } public String getName() { -- cgit v1.2.3 From 12f3e55bb7385e84c8296a8dd008584990429ae7 Mon Sep 17 00:00:00 2001 From: Gunther6070 Date: Wed, 26 Feb 2025 17:02:03 -0500 Subject: Added another constructor, verify password method, and basket methods --- .../java/com/ufund/api/ufundapi/model/User.java | 35 ++++++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java') diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java index 011aeef..1136481 100644 --- a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java +++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java @@ -1,5 +1,6 @@ package com.ufund.api.ufundapi.model; +import java.util.ArrayList; import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; @@ -7,14 +8,24 @@ import com.fasterxml.jackson.annotation.JsonProperty; public class User { @JsonProperty("name") private final String name; - @JsonProperty("password") private String password; + @JsonProperty("passwordHash") private String passwordHash; @JsonProperty("basket") private final List basket; /** * Create a new user * - * @param name The name of the user - * @param password The password of the user + * @param name The name of the user + */ + public User(@JsonProperty("name") String name) { + this.name = name; + basket = new ArrayList<>(); + } + + /** + * Create a new user + * + * @param name The name of the user + * @param basket A basket to copy from */ public User(@JsonProperty("name") String name, @JsonProperty("basket") List basket) { this.name = name; @@ -35,8 +46,20 @@ public class User { return name; } - public String getPassword() { - return password; + public boolean verifyPassword(String password) { + return password.equals(passwordHash); } - + + public void addToBasket(Need need) { + basket.add(need); + } + + public Need[] getBasketNeeds() { + return basket.toArray(Need[]::new); + } + + public void removeBasketNeed(Need need) { + basket.remove(need); + } + } -- cgit v1.2.3 From da74d5c7e67b873dc8fdbfc672891eb63c0b8ea2 Mon Sep 17 00:00:00 2001 From: Gunther6070 Date: Wed, 26 Feb 2025 17:10:27 -0500 Subject: Made verifyPassword actually hash the input password --- .../src/main/java/com/ufund/api/ufundapi/model/User.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java') diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java index 1136481..0a61714 100644 --- a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java +++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java @@ -7,9 +7,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; public class User { - @JsonProperty("name") private final String name; - @JsonProperty("passwordHash") private String passwordHash; - @JsonProperty("basket") private final List basket; + @JsonProperty("name") + private final String name; + @JsonProperty("passwordHash") + private int passwordHash; + @JsonProperty("basket") + private final List basket; /** * Create a new user @@ -47,7 +50,7 @@ public class User { } public boolean verifyPassword(String password) { - return password.equals(passwordHash); + return password.hashCode() == passwordHash; } public void addToBasket(Need need) { -- cgit v1.2.3