aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2019-06-07 13:07:13 +0300
committerGravatar Vitaly Takmazov2019-06-07 13:07:13 +0300
commitf8008abe5aaa21198f3dceb9901d48677e904ed3 (patch)
treec249730e616719ca648f20cef7ce8db700545047 /src/main
parent42a6528ee008bc5940f4c74587a316c37265721a (diff)
Telegram: do not add the same id to anonymous chats multiple times
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/juick/server/www/controllers/SocialLogin.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/com/juick/server/www/controllers/SocialLogin.java b/src/main/java/com/juick/server/www/controllers/SocialLogin.java
index 8081c54b..e845247e 100644
--- a/src/main/java/com/juick/server/www/controllers/SocialLogin.java
+++ b/src/main/java/com/juick/server/www/controllers/SocialLogin.java
@@ -53,6 +53,7 @@ import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
+import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ExecutionException;
@@ -303,7 +304,11 @@ public class SocialLogin {
return "redirect:/" + Utils.getPreviousPageByRequest(request).orElse(StringUtils.EMPTY);
} else {
String username = StringUtils.defaultString(params.get("username"), params.get("first_name"));
- telegramService.createTelegramUser(tgUser, username);
+ List<Long> chats = telegramService.getAnonymous();
+ if (!chats.contains(tgUser)) {
+ logger.info("added chat with {}", username);
+ telegramService.createTelegramUser(tgUser, username);
+ }
return "redirect:/signup?type=durov&hash=" + userService.getSignUpHashByTelegramID(tgUser, username);
}
} else {