diff options
Diffstat (limited to 'src/main/java/com/juick/www/api')
-rw-r--r-- | src/main/java/com/juick/www/api/Messages.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/com/juick/www/api/Messages.java b/src/main/java/com/juick/www/api/Messages.java index e3426454..f059aa88 100644 --- a/src/main/java/com/juick/www/api/Messages.java +++ b/src/main/java/com/juick/www/api/Messages.java @@ -203,4 +203,13 @@ public class Messages { } throw new HttpBadRequestException(); } + @PostMapping("/api/messages/set_privacy") + public void togglePrivacy(@Parameter(hidden = true) User visitor, @RequestParam Integer mid) { + if (visitor.isPremium() || userService.isAdminUser(visitor)) { + var msg = messagesService.getMessage(mid).orElseThrow(HttpNotFoundException::new); + messagesService.setFriendsOnly(mid, !msg.FriendsOnly); + } else { + throw new HttpBadRequestException(); + } + } } |