diff options
author | Vitaly Takmazov | 2016-11-24 21:38:52 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2016-11-24 23:26:57 +0300 |
commit | d233943fc29508dc37714852b11b96b0b46b55d9 (patch) | |
tree | 129cd564c021261247e72ac70605c1e559c6dac4 /juick-api/src/main/java/com/juick/api/Messages.java | |
parent | bcd9ae221522fa779ea1fd1ff1ab5b561ca0895f (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.java | 189 |
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\"}"); - } - } -} |