aboutsummaryrefslogtreecommitdiff
path: root/juick-server
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2017-01-16 14:25:58 +0300
committerGravatar Vitaly Takmazov2017-01-16 14:25:58 +0300
commit965d46f8188378eea8acb99e8f6c448a26a1ee19 (patch)
tree1ea8749a14ce33d229604f8a976a5944473153a8 /juick-server
parentb1a81ad87c0803006965ca299103a5ec32be3056 (diff)
juick-protocol: check message exists before subscription
Diffstat (limited to 'juick-server')
-rw-r--r--juick-server/src/main/java/com/juick/server/protocol/JuickProtocol.java18
1 files changed, 10 insertions, 8 deletions
diff --git a/juick-server/src/main/java/com/juick/server/protocol/JuickProtocol.java b/juick-server/src/main/java/com/juick/server/protocol/JuickProtocol.java
index 06fbf2fc..5b1b55e4 100644
--- a/juick-server/src/main/java/com/juick/server/protocol/JuickProtocol.java
+++ b/juick-server/src/main/java/com/juick/server/protocol/JuickProtocol.java
@@ -354,15 +354,17 @@ public class JuickProtocol {
public ProtocolReply commandSubscribeMessage(User user, String... args) {
boolean subscribe = args[0].equalsIgnoreCase("s");
int mid = NumberUtils.toInt(args[1], 0);
- if (subscribe) {
- if (subscriptionService.subscribeMessage(mid, user.getUid())) {
- return new ProtocolReply("Subscribed");
- }
- } else {
- if (subscriptionService.unSubscribeMessage(mid, user.getUid())) {
- return new ProtocolReply("Unsubscribed from #" + mid);
+ if (messagesService.getMessage(mid) != null) {
+ if (subscribe) {
+ if (subscriptionService.subscribeMessage(mid, user.getUid())) {
+ return new ProtocolReply("Subscribed");
+ }
+ } else {
+ if (subscriptionService.unSubscribeMessage(mid, user.getUid())) {
+ return new ProtocolReply("Unsubscribed from #" + mid);
+ }
+ return new ProtocolReply("You was not subscribed to #" + mid);
}
- return new ProtocolReply("You was not subscribed to #" + mid);
}
return new ProtocolReply("Error");
}