aboutsummaryrefslogtreecommitdiff
path: root/juick-api/src/main/java/com/juick/api/Messages.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2016-11-24 21:38:52 +0300
committerGravatar Vitaly Takmazov2016-11-24 23:26:57 +0300
commitd233943fc29508dc37714852b11b96b0b46b55d9 (patch)
tree129cd564c021261247e72ac70605c1e559c6dac4 /juick-api/src/main/java/com/juick/api/Messages.java
parentbcd9ae221522fa779ea1fd1ff1ab5b561ca0895f (diff)
juick-api: now on spring-webmvc
Diffstat (limited to 'juick-api/src/main/java/com/juick/api/Messages.java')
-rw-r--r--juick-api/src/main/java/com/juick/api/Messages.java189
1 files changed, 0 insertions, 189 deletions
diff --git a/juick-api/src/main/java/com/juick/api/Messages.java b/juick-api/src/main/java/com/juick/api/Messages.java
deleted file mode 100644
index 024a79c1..00000000
--- a/juick-api/src/main/java/com/juick/api/Messages.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package com.juick.api;
-
-import com.juick.Tag;
-import com.juick.User;
-import com.juick.json.JSONSerializer;
-import com.juick.json.MessageSerializer;
-import com.juick.server.MessagesQueries;
-import com.juick.server.TagQueries;
-import com.juick.server.UserQueries;
-import org.apache.commons.lang3.math.NumberUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.util.StringUtils;
-import rocks.xmpp.addr.Jid;
-import rocks.xmpp.core.session.XmppSession;
-import rocks.xmpp.core.stanza.model.Message;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-/**
- * @author ugnich
- */
-public class Messages {
- private static final Logger logger = LoggerFactory.getLogger(Messages.class);
-
- JdbcTemplate sql;
-
- MessageSerializer messageSerializer = new MessageSerializer();
-
- public Messages(JdbcTemplate sql) {
- this.sql = sql;
- }
-
- void feedMessages(HttpServletRequest request, HttpServletResponse response, List<com.juick.Message> msgs) throws IOException {
- String requestScheme = request.getHeader("X-Scheme");
- if (requestScheme != null) {
- if (Objects.equals(requestScheme, "https")) {
- messageSerializer.setUriScheme(JSONSerializer.URIScheme.Secure);
- }
- }
- String json = messageSerializer.serializeList(msgs);
- Main.replyJSON(request, response, json);
- }
-
- public void doGetHome(HttpServletRequest request,
- HttpServletResponse response, int vuid)
- throws ServletException, IOException {
- int before_mid = NumberUtils.toInt(request.getParameter("before_mid"), 0);
- List<Integer> mids = MessagesQueries.getMyFeed(sql, vuid, before_mid);
- feedMessages(request, response, MessagesQueries.getMessages(sql, mids));
- }
-
- public void doGet(HttpServletRequest request,
- HttpServletResponse response, int vuid)
- throws ServletException, IOException {
- int before_mid = NumberUtils.toInt(request.getParameter("before_mid"), 0);
- String uname = request.getParameter("uname");
- String popular = request.getParameter("popular");
- String media = request.getParameter("media");
- String tag = request.getParameter("tag");
- List<Integer> mids = new ArrayList<>();
- if (!StringUtils.isEmpty(uname)) {
- User user = UserQueries.getUserByName(sql, uname);
- if (user != null) {
- if (!StringUtils.isEmpty(media)) {
- mids = MessagesQueries.getUserPhotos(sql, user.getUid(), 0, before_mid);
- } else if (!StringUtils.isEmpty(tag)) {
- Tag tagObject = TagQueries.getTag(sql, tag, false);
- if (tagObject != null) {
- mids = MessagesQueries.getUserTag(sql, user.getUid(), tagObject.TID, 0, before_mid);
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- } else {
- mids = MessagesQueries.getUserBlog(sql, user.getUid(), 0, before_mid);
- }
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- } else {
- if (!StringUtils.isEmpty(popular)) {
- mids = MessagesQueries.getPopular(sql, vuid, before_mid);
- } else if (!StringUtils.isEmpty(media)) {
- mids = MessagesQueries.getPhotos(sql, vuid, before_mid);
- } else if (!StringUtils.isEmpty(tag)) {
- Tag tagObject = TagQueries.getTag(sql, tag, false);
- if (tagObject != null) {
- mids = MessagesQueries.getTag(sql, tagObject.TID, vuid, before_mid, 20);
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- } else {
- mids = MessagesQueries.getAll(sql, vuid, before_mid);
- }
- }
- feedMessages(request, response, MessagesQueries.getMessages(sql, mids));
- }
-
- public void doThreadGet(HttpServletRequest request, HttpServletResponse response, int vuid) throws IOException {
- int mid = NumberUtils.toInt(request.getParameter("mid"), 0);
- com.juick.Message msg = MessagesQueries.getMessage(sql, mid);
- if (msg != null) {
- if (!MessagesQueries.canViewThread(sql, mid, vuid)) {
- response.sendError(HttpServletResponse.SC_FORBIDDEN);
- } else {
- List<com.juick.Message> replies = MessagesQueries.getReplies(sql, mid);
- replies.add(0, msg);
- feedMessages(request, response, replies);
- }
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
-
- public void doGetRecommended(HttpServletRequest request,
- HttpServletResponse response, int vuid)
- throws ServletException, IOException {
- int before_mid = NumberUtils.toInt(request.getParameter("before_mid"), 0);
-
- List<Integer> mids = MessagesQueries.getUserRecommendations(sql, vuid, before_mid);
- if (mids != null && !mids.isEmpty()) {
- List<com.juick.Message> msgs = MessagesQueries.getMessages(sql, mids);
- if (msgs != null && !msgs.isEmpty()) {
- String json = messageSerializer.serializeList(msgs);
- Main.replyJSON(request, response, json);
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
-
- public void doSetPrivacy(HttpServletRequest request,
- HttpServletResponse response, XmppSession xmpp, int vuid)
- throws ServletException, IOException {
- int mid = NumberUtils.toInt(request.getParameter("mid"), 0);
- com.juick.User user = MessagesQueries.getMessageAuthor(sql, mid);
- if (user != null && user.getUid() == vuid && MessagesQueries.setMessagePrivacy(sql, mid)) {
- Main.replyJSON(request, response, "{\"status\":\"ok\"}");
- } else {
- response.sendError(HttpServletResponse.SC_BAD_REQUEST);
- }
- }
-
- public void doSetPopular(HttpServletRequest request,
- HttpServletResponse response, XmppSession xmpp)
- throws ServletException, IOException {
- int mid = NumberUtils.toInt(request.getParameter("mid"), 0);
- int popular = NumberUtils.toInt(request.getParameter("popular"), 0);
-
- if (mid > 0) {
- boolean ret = MessagesQueries.setMessagePopular(sql, mid, popular);
-
- if (ret && popular == 2) {
- try {
- com.juick.Message m = MessagesQueries.getMessage(sql, mid);
- if (m != null) {
- Message msg = new Message();
- msg.setFrom(Jid.of("juick@juick.com"));
- msg.setTo(Jid.of("crosspost.juick.com"));
- m.setUser(UserQueries.getUserByUID(sql, 11574).get());
- msg.addExtension(m);
-
- msg.setTo(Jid.of("twitter@crosspost.juick.com"));
- xmpp.send(msg);
- msg.setTo(Jid.of("fb@crosspost.juick.com"));
- xmpp.send(msg);
- msg.setTo(Jid.of("vk@crosspost.juick.com"));
- xmpp.send(msg);
- } else {
- throw new Exception("Message not found");
- }
- } catch (Exception e) {
- logger.error("SETPOPULAR ERROR", e);
- }
- }
-
- Main.replyJSON(request, response, "{\"status\":\"ok\"}");
- }
- }
-}