diff --git a/server/src/main/java/edu/sjsu/moth/server/service/AccountService.java b/server/src/main/java/edu/sjsu/moth/server/service/AccountService.java index b886b00f..677852e8 100644 --- a/server/src/main/java/edu/sjsu/moth/server/service/AccountService.java +++ b/server/src/main/java/edu/sjsu/moth/server/service/AccountService.java @@ -90,19 +90,15 @@ public Mono getPublicKey(String id, boolean addIfMissing) { public Mono followerHandler(String id, JsonNode inboxNode, String requestType) { String follower = inboxNode.get("actor").asText(); if (requestType.equals("Follow")) { - // check id - if (accountRepository.findItemByAcct(id)==null) { - return Mono.error(new RuntimeException("Error: Account to follow doesn't exist.")); - } // find id, grab arraylist, append - else { - return followersRepository.findItemById(id) - .switchIfEmpty(Mono.just(new Followers(id, new ArrayList<>()))) - .flatMap(followedUser -> { - followedUser.getFollowers().add(follower); - return followersRepository.save(followedUser).thenReturn("done"); - }); - } + return accountRepository.findItemByAcct(id) + .switchIfEmpty(Mono.error(new RuntimeException("Error: Account to follow does not exist"))) + .then(followersRepository.findItemById(id) + .switchIfEmpty(Mono.just(new Followers(id, new ArrayList<>()))) + .flatMap(followedUser -> { + followedUser.getFollowers().add(follower); + return followersRepository.save(followedUser).thenReturn("done"); + })); } if (requestType.equals("Undo")) { // find id, grab arraylist, remove