aboutsummaryrefslogtreecommitdiff
path: root/ufund-api
diff options
context:
space:
mode:
Diffstat (limited to 'ufund-api')
-rw-r--r--ufund-api/.gitignore6
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/controller/CupboardController.java6
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/model/Need.java32
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/service/CupboardService.java4
4 files changed, 40 insertions, 8 deletions
diff --git a/ufund-api/.gitignore b/ufund-api/.gitignore
index 052bd9d..24d3397 100644
--- a/ufund-api/.gitignore
+++ b/ufund-api/.gitignore
@@ -32,5 +32,7 @@ build/
.vscode/
### application specific ###
-# /src/main/resources/application.properties
-# /data/cupboard.json \ No newline at end of file
+ufund-api/src/main/resources/application.properties
+ufund-api/data/cupboard.json
+ufund-api/data/users.json
+ufund-api/data/userAuths.json \ No newline at end of file
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/controller/CupboardController.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/controller/CupboardController.java
index bbfd3f6..c62bff3 100644
--- a/ufund-api/src/main/java/com/ufund/api/ufundapi/controller/CupboardController.java
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/controller/CupboardController.java
@@ -55,12 +55,14 @@ public class CupboardController {
LOG.log(Level.INFO, "POST /cupboard body={0}", params);
String name = (String) params.get("name");
+ String location = (String) params.get("location");
double maxGoal = ((Number) params.get("maxGoal")).doubleValue();
+ boolean urgent = (Boolean) params.get("urgent");
Need.GoalType goalType = GoalType.valueOf((String) params.get("type"));
try {
authService.keyHasAccessToCupboard(key);
- Need need = cupboardService.createNeed(name, maxGoal, goalType);
+ Need need = cupboardService.createNeed(name, location, maxGoal, goalType, urgent);
return new ResponseEntity<>(need, HttpStatus.OK);
} catch (DuplicateKeyException ex) {
LOG.log(Level.WARNING, ex.getLocalizedMessage());
@@ -181,7 +183,7 @@ public class CupboardController {
/**
* Checks out a need by checkoutAmount
- *
+ *
* @param data JSON object with parameters needID and amount
* @param key Key used to authenticate user
* @return OK if successful, other statuses if failure
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/Need.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/Need.java
index 22e86e3..00cd38f 100644
--- a/ufund-api/src/main/java/com/ufund/api/ufundapi/model/Need.java
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/model/Need.java
@@ -10,38 +10,48 @@ public class Need {
}
@JsonProperty("name") private String name;
+ @JsonProperty("location") private String location;
@JsonProperty("id") private int id;
@JsonProperty("filterAttributes") private String[] filterAttributes;
@JsonProperty("type") final private GoalType type;
@JsonProperty("maxGoal") private double maxGoal;
+ @JsonProperty("urgent") private boolean urgent;
@JsonProperty("current") private double current;
/**
* Create a new need, used by the controller
*
* @param name The name of the need
+ * @param location The physical location of the need
* @param id The unique ID of the need
* @param maxGoal The maximum goal for this need
* @param type The type of need (monetary, physical)
+ * @param urgent The urgency of the need
*/
- public Need(@JsonProperty("name") String name, @JsonProperty("id") int id, @JsonProperty("maxGoal") double maxGoal, @JsonProperty("type") GoalType type) {
+ public Need(@JsonProperty("name") String name, @JsonProperty("location") String location, @JsonProperty("id") int id, @JsonProperty("maxGoal") double maxGoal, @JsonProperty("type") GoalType type, @JsonProperty("urgent") boolean urgent) {
this.id = id;
+ this.location = location;
this.name = name;
this.maxGoal = maxGoal;
this.type = type;
+ this.urgent = urgent;
}
/**
* Create a new need
*
* @param name The name of the need
+ * @param location The location of the need
* @param maxGoal The maximum goal for this need
* @param type The type of need (monetary, physical)
+ * @param urgent The urgency of the need
*/
- public Need(String name, GoalType type, double maxGoal) {
+ public Need(String name, String location, GoalType type, double maxGoal, boolean urgent) {
this.name = name;
+ this.location = location;
this.type = type;
this.maxGoal = maxGoal;
+ this.urgent = urgent;
}
/**
@@ -51,17 +61,23 @@ public class Need {
*/
public Need(Need other) {
this.name = other.name;
+ this.location = other.location;
this.id = other.id;
this.filterAttributes = other.filterAttributes;
this.type = other.type;
this.maxGoal = other.maxGoal;
this.current = other.current;
+ this.urgent = other.urgent;
}
public String getName() {
return name;
}
+ public String getLocation() {
+ return location;
+ }
+
public int getId() {
return id;
}
@@ -82,6 +98,10 @@ public class Need {
return current;
}
+ public boolean isUrgent() {
+ return urgent;
+ }
+
public void setCurrent(double current) {
this.current = current;
}
@@ -102,7 +122,15 @@ public class Need {
this.name = name;
}
+ public void setLocation(String location) {
+ this.location = location;
+ }
+
public void setID(int id){
this.id = id;
}
+
+ public void setUrgent(boolean urgent) {
+ this.urgent = urgent;
+ }
} \ No newline at end of file
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/service/CupboardService.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/service/CupboardService.java
index aaa8cb8..15d1fad 100644
--- a/ufund-api/src/main/java/com/ufund/api/ufundapi/service/CupboardService.java
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/service/CupboardService.java
@@ -31,7 +31,7 @@ public class CupboardService {
* @throws IOException Thrown if there was any issue saving the data
* @throws DuplicateKeyException If there already exists a need with the same name
*/
- public Need createNeed(String name, double maxGoal, Need.GoalType goalType) throws IOException, DuplicateKeyException {
+ public Need createNeed(String name, String location, double maxGoal, Need.GoalType goalType, boolean urgent) throws IOException, DuplicateKeyException {
if (maxGoal <= 0) {
throw new IllegalArgumentException("Max Goal must be greater than zero");
@@ -43,7 +43,7 @@ public class CupboardService {
}
}
- Need need = new Need(name, goalType, maxGoal);
+ Need need = new Need(name, location, goalType, maxGoal, urgent);
return cupboardDAO.addNeed(need);
}