aboutsummaryrefslogtreecommitdiff
path: root/ufund-api/src/main/java/com/ufund/api/ufundapi/controller/UserController.java
diff options
context:
space:
mode:
Diffstat (limited to 'ufund-api/src/main/java/com/ufund/api/ufundapi/controller/UserController.java')
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/controller/UserController.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/controller/UserController.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/controller/UserController.java
index a34e891..6953276 100644
--- a/ufund-api/src/main/java/com/ufund/api/ufundapi/controller/UserController.java
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/controller/UserController.java
@@ -95,6 +95,32 @@ public class UserController {
}
/**
+ * Responds to the GET request with the total number of users
+ *
+ * @param key The authentication key of the user
+ * @return ResponseEntity with amount and HTTP status of OK<br>
+ * ResponseEntity with HTTP status of UNAUTHORIZED if user is not aa manager<br>
+ * ResponseEntity with HTTP status of INTERNAL_SERVER_ERROR otherwise
+ */
+ @GetMapping("/count")
+ public ResponseEntity<Object> getUserCount(@RequestHeader("jelly-api-key") String key) {
+ LOG.log(Level.INFO, "GET /userAmount");
+
+ try {
+ authService.keyHasAccessToCupboard(key);
+ String count = String.valueOf(userService.getUserCount());
+ return new ResponseEntity<>(count, HttpStatus.OK);
+ } catch (IllegalAccessException ex) {
+ LOG.log(Level.WARNING, ex.getLocalizedMessage());
+ return new ResponseEntity<>(ex.getMessage(), HttpStatus.UNAUTHORIZED);
+ } catch (IOException ex) {
+ LOG.log(Level.SEVERE, ex.getLocalizedMessage());
+ return new ResponseEntity<>(ex.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+ }
+
+ }
+
+ /**
* Updates a User with the provided one
*
* @param user The user to update