aboutsummaryrefslogtreecommitdiff
path: root/ufund-api
diff options
context:
space:
mode:
authorbenal01 <bja4245@rit.edu>2025-03-29 15:01:12 -0400
committerbenal01 <bja4245@rit.edu>2025-03-29 15:01:12 -0400
commite0a3f2c2c0fec40aa50c8889e343a1dbc7f9d7fb (patch)
tree7b8c9811964e566ed4bc930e929301990538b82e /ufund-api
parent61b5b762b150c82e7d48190bcfe3416bfea96059 (diff)
downloadJellySolutions-e0a3f2c2c0fec40aa50c8889e343a1dbc7f9d7fb.tar.gz
JellySolutions-e0a3f2c2c0fec40aa50c8889e343a1dbc7f9d7fb.tar.bz2
JellySolutions-e0a3f2c2c0fec40aa50c8889e343a1dbc7f9d7fb.zip
API functionality for urgency and location
Diffstat (limited to 'ufund-api')
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/controller/CupboardController.java5
-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
3 files changed, 35 insertions, 6 deletions
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 55cf88d..f79e445 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
@@ -50,12 +50,13 @@ public class CupboardController {
public ResponseEntity<Need> createNeed(@RequestBody Map<String, Object> params) {
System.out.println(params);
String name = (String) params.get("name");
- System.out.println("attemtping cast maxgoual");
+ 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 {
- 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) {
return new ResponseEntity<>(HttpStatus.CONFLICT);
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 c0e9214..45f1f9a 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
*
* @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, GoalType type) {
+ public Need(@JsonProperty("name") String name, @JsonProperty("location") String location, @JsonProperty("id") int id, @JsonProperty("maxGoal") double maxGoal, 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 urgency 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;
}
@@ -98,7 +118,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 2398745..d09afb4 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
@@ -28,7 +28,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");
@@ -40,7 +40,7 @@ public class CupboardService {
}
}
- Need need = new Need(name, goalType, maxGoal);
+ Need need = new Need(name, location, goalType, maxGoal, urgent);
return cupboardDAO.addNeed(need);
}