diff --git a/src/main/java/de/zendric/app/xpensely_server/controller/ExpenseListController.java b/src/main/java/de/zendric/app/xpensely_server/controller/ExpenseListController.java index 0bdc51a..d0329fa 100644 --- a/src/main/java/de/zendric/app/xpensely_server/controller/ExpenseListController.java +++ b/src/main/java/de/zendric/app/xpensely_server/controller/ExpenseListController.java @@ -143,7 +143,6 @@ class ExpenseListController { } @PostMapping("/accept-invite") - public ResponseEntity acceptInvite(@RequestBody InviteRequest inviteRequest) { ExpenseList list = expenseListService.findByInviteCode(inviteRequest.getInviteCode()); @@ -151,6 +150,9 @@ class ExpenseListController { list.getInviteCodeExpiration().isBefore(LocalDateTime.now())) { return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Invalid or expired invite code"); } + if (list.getSharedWith() != null) { + return ResponseEntity.status(HttpStatus.IM_USED).body("List has already been shared"); + } AppUser user = null; try { user = userService.getUser(inviteRequest.getUserId()); diff --git a/src/main/java/de/zendric/app/xpensely_server/services/ExpenseListService.java b/src/main/java/de/zendric/app/xpensely_server/services/ExpenseListService.java index cad04d2..f80ee3b 100644 --- a/src/main/java/de/zendric/app/xpensely_server/services/ExpenseListService.java +++ b/src/main/java/de/zendric/app/xpensely_server/services/ExpenseListService.java @@ -71,7 +71,7 @@ public class ExpenseListService { if (expenseList.getOwner().getId().equals(id)) { userSpecificList.add(expenseList); } else { - if (sharedWith.getId().equals(id)) { + if (sharedWith != null && sharedWith.getId().equals(id)) { userSpecificList.add(expenseList); } } @@ -88,7 +88,7 @@ public class ExpenseListService { if (expenseList.getOwner().getUsername().equals(username)) { userSpecificList.add(expenseList); } else { - if (sharedWith.getUsername().equals(username)) { + if (sharedWith != null && sharedWith.getUsername().equals(username)) { userSpecificList.add(expenseList); } }