aboutsummaryrefslogtreecommitdiff
path: root/ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-03-27 18:55:39 -0400
committersowgro <tpoke.ferrari@gmail.com>2025-03-27 18:55:39 -0400
commitd6f4aad157baad7d9b25d56ce056b80805e88f5f (patch)
tree1b4a3df94389afb1637ea59fe47ba3a327c89561 /ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java
parent96f833352eff7b9428daf2add988ecd0a2b41d92 (diff)
parentddbd1cc688aa98fb275ad72a750fbaaf53e6c0ae (diff)
downloadJellySolutions-d6f4aad157baad7d9b25d56ce056b80805e88f5f.tar.gz
JellySolutions-d6f4aad157baad7d9b25d56ce056b80805e88f5f.tar.bz2
JellySolutions-d6f4aad157baad7d9b25d56ce056b80805e88f5f.zip
Merge branch 'main' into css
Diffstat (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java')
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java46
1 files changed, 34 insertions, 12 deletions
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 6de1a8a..58b62df 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,18 +12,23 @@ public class User {
MANAGER
}
- @JsonProperty("username") private final String username;
- @JsonProperty("passwordHash") private int passwordHash;
- @JsonProperty("basket") private final List<Integer> basket;
- @JsonProperty("type") private final UserType type;
+ @JsonProperty("username")
+ private final String username;
+ @JsonProperty("passwordHash")
+ private int passwordHash;
+ @JsonProperty("basket")
+ private final List<Integer> basket;
+ @JsonProperty("type")
+ private final UserType type;
/**
* Create a new user
*
- * @param username The name of the user
- * @param basket A basket to copy from
+ * @param username The name of the user
+ * @param basket A basket to copy from
*/
- public User(@JsonProperty("username") String username, @JsonProperty("passwordHash") int passwordHash, @JsonProperty("basket") List<Integer> basket, @JsonProperty("type") UserType userType) {
+ public User(@JsonProperty("username") String username, @JsonProperty("passwordHash") int passwordHash,
+ @JsonProperty("basket") List<Integer> basket, @JsonProperty("type") UserType userType) {
this.username = username;
this.basket = basket;
this.passwordHash = passwordHash;
@@ -35,30 +40,46 @@ public class User {
username,
password.hashCode(),
new ArrayList<>(),
- UserType.HELPER
- );
+ UserType.HELPER);
}
public String getUsername() {
return username;
}
+ /**
+ * Verifies if the provided password's hash is the same as the user's actual
+ * hash
+ *
+ * @param password The password to check if valid
+ * @return True or false depending on if it's equal
+ */
public boolean verifyPassword(String password) {
return password.hashCode() == passwordHash;
}
+ /**
+ * Adds a need's ID to a user's basket
+ *
+ * @param need The need to add
+ */
public void addToBasket(Need need) {
basket.add(need.getId());
}
- public Integer[] getNeeds() {
+ public Integer[] getBasket() {
return basket.toArray(Integer[]::new);
}
- public boolean removeBasketNeed(Integer needID) {
- return basket.remove(needID);
+ public void removeBasketNeed(Integer needID) {
+ basket.remove(needID);
}
+ /**
+ * Returns a user without a password hash for security purposes
+ *
+ * @return new User with empty password hash
+ */
public User withoutPasswordHash() {
return new User(this.username, 0, this.basket, this.type);
}
@@ -71,6 +92,7 @@ public class User {
this.passwordHash = other.passwordHash;
}
+ @Override
public String toString() {
return this.username + "; basket: " + this.basket + "; type:" + this.type + "; hash: " + this.passwordHash;
}