aboutsummaryrefslogtreecommitdiff
path: root/ufund-api/src/main/java/com/ufund/api
diff options
context:
space:
mode:
Diffstat (limited to 'ufund-api/src/main/java/com/ufund/api')
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/model/User.java35
1 files changed, 29 insertions, 6 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 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<Need> 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<Need> 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);
+ }
+
}