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/PM.java | |
parent | bcd9ae221522fa779ea1fd1ff1ab5b561ca0895f (diff) |
juick-api: now on spring-webmvc
Diffstat (limited to 'juick-api/src/main/java/com/juick/api/PM.java')
-rw-r--r-- | juick-api/src/main/java/com/juick/api/PM.java | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/juick-api/src/main/java/com/juick/api/PM.java b/juick-api/src/main/java/com/juick/api/PM.java deleted file mode 100644 index 1e06e67d..00000000 --- a/juick-api/src/main/java/com/juick/api/PM.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.juick.api; - -import com.juick.json.MessageSerializer; -import com.juick.server.PMQueries; -import com.juick.server.UserQueries; -import com.juick.util.UserUtils; -import org.springframework.jdbc.core.JdbcTemplate; -import rocks.xmpp.addr.Jid; -import rocks.xmpp.core.session.XmppSession; -import rocks.xmpp.core.stanza.model.Message; - -import java.io.IOException; -import java.util.List; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * - * @author ugnich - */ -public class PM { - - JdbcTemplate sql; - - MessageSerializer messageSerializer = new MessageSerializer(); - - public PM(JdbcTemplate sql) { - this.sql = sql; - } - - public void doGetPM(HttpServletRequest request, - HttpServletResponse response, int vuid) - throws ServletException, IOException { - String uname = request.getParameter("uname"); - int uid = 0; - if (uname != null && uname.matches("^[a-zA-Z0-9\\-]{2,16}$")) { - uid = UserQueries.getUIDbyName(sql, uname); - } - - if (uid == 0) { - response.sendError(HttpServletResponse.SC_BAD_REQUEST); - return; - } - - List<com.juick.Message> msgs = PMQueries.getPMMessages(sql, vuid, uid); - if (msgs != null && !msgs.isEmpty()) { - String json = messageSerializer.serializeList(msgs); - Main.replyJSON(request, response, json); - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } - - public void doPostPM(HttpServletRequest request, - HttpServletResponse response, XmppSession xmpp, int vuid) - throws ServletException, IOException { - String uname = request.getParameter("uname"); - int uid = 0; - if (UserUtils.checkUserNameValid(uname)) { - uid = UserQueries.getUIDbyName(sql, uname); - } - - String body = request.getParameter("body"); - if (uid == 0 || body == null || body.length() < 1 || body.length() > 10240) { - response.sendError(HttpServletResponse.SC_BAD_REQUEST); - return; - } - - if (UserQueries.isInBLAny(sql, uid, vuid)) { - response.sendError(HttpServletResponse.SC_FORBIDDEN); - return; - } - - if (PMQueries.createPM(sql, vuid, uid, body)) { - Message msg = new Message(); - msg.setFrom(Jid.of("juick@juick.com")); - msg.setTo(Jid.of(String.format("%d@push.juick.com", uid))); - com.juick.Message jmsg = new com.juick.Message(); - jmsg.setUser(UserQueries.getUserByUID(sql, vuid).get()); - jmsg.setText(body); - msg.addExtension(jmsg); - xmpp.send(msg); - - msg.setTo(Jid.of(String.format("%d@ws.juick.com", uid))); - xmpp.send(msg); - - Main.replyJSON(request, response, messageSerializer.serialize(jmsg).toString()); - - List<String> jids = UserQueries.getJIDsbyUID(sql, uid); - for (String jid: jids) { - Message mm = new Message(); - mm.setTo(Jid.of(jid)); - mm.setType(Message.Type.CHAT); - if (PMQueries.havePMinRoster(sql, vuid, jid)) { - mm.setFrom(Jid.of(jmsg.getUser().getName(), "juick.com", "Juick")); - mm.setBody(body); - } else { - mm.setFrom(Jid.of("juick", "juick.com", "Juick")); - mm.setBody("Private message from @" + jmsg.getUser().getName() + ":\n" + body); - } - xmpp.send(mm); - } - - } else { - response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - } - } -} |