From bf5550b515c305c017cf8b3fcf04976d74314233 Mon Sep 17 00:00:00 2001
From: Vitaly Takmazov
Date: Sat, 31 Dec 2022 01:32:42 +0300
Subject: PMQueriesService -> ChatService
---
src/main/java/com/juick/CommandsManager.java | 6 +-
src/main/java/com/juick/XMPPManager.java | 18 +--
src/main/java/com/juick/config/XMPPConfig.java | 6 +-
src/main/java/com/juick/service/ChatService.java | 45 +++++++
.../java/com/juick/service/ChatServiceImpl.java | 150 +++++++++++++++++++++
.../java/com/juick/service/PMQueriesService.java | 45 -------
.../com/juick/service/PMQueriesServiceImpl.java | 150 ---------------------
src/main/java/com/juick/www/api/PM.java | 10 +-
src/main/java/com/juick/www/controllers/Site.java | 6 +-
9 files changed, 216 insertions(+), 220 deletions(-)
create mode 100644 src/main/java/com/juick/service/ChatService.java
create mode 100644 src/main/java/com/juick/service/ChatServiceImpl.java
delete mode 100644 src/main/java/com/juick/service/PMQueriesService.java
delete mode 100644 src/main/java/com/juick/service/PMQueriesServiceImpl.java
(limited to 'src/main/java/com/juick')
diff --git a/src/main/java/com/juick/CommandsManager.java b/src/main/java/com/juick/CommandsManager.java
index 0c16fbbd..6b33cf16 100644
--- a/src/main/java/com/juick/CommandsManager.java
+++ b/src/main/java/com/juick/CommandsManager.java
@@ -39,7 +39,7 @@ import com.juick.model.Tag;
import com.juick.model.TagStats;
import com.juick.model.User;
import com.juick.service.MessagesService;
-import com.juick.service.PMQueriesService;
+import com.juick.service.ChatService;
import com.juick.service.PrivacyQueriesService;
import com.juick.service.ShowQueriesService;
import com.juick.service.StorageService;
@@ -80,7 +80,7 @@ public class CommandsManager {
@Inject
private TagService tagService;
@Inject
- private PMQueriesService pmQueriesService;
+ private ChatService chatService;
@Inject
private ShowQueriesService showQueriesService;
@Inject
@@ -192,7 +192,7 @@ public class CommandsManager {
user_to.setAvatar(webApp.getAvatarUrl(user_to));
if (!user_to.isAnonymous()) {
if (!userService.isInBLAny(user_to.getUid(), user_from.getUid())) {
- if (pmQueriesService.createPM(user_from.getUid(), user_to.getUid(), body)) {
+ if (chatService.createMessage(user_from.getUid(), user_to.getUid(), body)) {
Message jmsg = new Message();
jmsg.setUser(user_from);
jmsg.setTo(user_to);
diff --git a/src/main/java/com/juick/XMPPManager.java b/src/main/java/com/juick/XMPPManager.java
index 1080b1b9..9bd3b7b5 100644
--- a/src/main/java/com/juick/XMPPManager.java
+++ b/src/main/java/com/juick/XMPPManager.java
@@ -20,7 +20,7 @@ package com.juick;
import com.juick.model.CommandResult;
import com.juick.model.User;
import com.juick.service.MessagesService;
-import com.juick.service.PMQueriesService;
+import com.juick.service.ChatService;
import com.juick.service.StorageService;
import com.juick.service.UserService;
import com.juick.service.component.NotificationListener;
@@ -31,16 +31,13 @@ import com.juick.util.formatters.PlainTextFormatter;
import com.juick.util.xmpp.iq.MessageQuery;
import com.juick.www.WebApp;
import com.juick.www.api.SystemActivity;
-import jakarta.annotation.PostConstruct;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
-import org.springframework.stereotype.Component;
import rocks.xmpp.addr.Jid;
import rocks.xmpp.core.XmppException;
import rocks.xmpp.core.session.Extension;
@@ -70,7 +67,6 @@ import rocks.xmpp.extensions.version.SoftwareVersionManager;
import rocks.xmpp.extensions.version.model.SoftwareVersion;
import javax.annotation.Nonnull;
-import javax.inject.Inject;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URI;
@@ -94,19 +90,19 @@ public class XMPPManager implements NotificationListener {
private final CommandsManager commandsManager;
private final MessagesService messagesService;
private final UserService userService;
- private final PMQueriesService pmQueriesService;
+ private final ChatService chatService;
private final Jid jid;
public XMPPManager(String botJid, String componentName, int componentPort, String componentHost,
String password, Resource vCardImage, CommandsManager commandsManager,
StorageService storageService, MessagesService messagesService, UserService userService,
- PMQueriesService pmQueriesService, Executor applicationTaskExecutor, WebApp webApp) {
+ ChatService chatService, Executor applicationTaskExecutor, WebApp webApp) {
jid = Jid.of(botJid);
this.commandsManager = commandsManager;
this.messagesService = messagesService;
this.userService = userService;
- this.pmQueriesService = pmQueriesService;
+ this.chatService = chatService;
logger.info("xmpp component start connecting to {}", componentPort);
XmppSessionConfiguration configuration = XmppSessionConfiguration.builder()
.extensions(Extension.of(com.juick.model.Message.class), Extension.of(MessageQuery.class))
@@ -346,7 +342,7 @@ public class XMPPManager implements NotificationListener {
Message mm = new Message();
mm.setTo(Jid.of(userJid));
mm.setType(Message.Type.CHAT);
- boolean inroster = pmQueriesService.havePMinRoster(msg.getUser().getUid(), userJid);
+ boolean inroster = chatService.havePMinRoster(msg.getUser().getUid(), userJid);
if (inroster) {
mm.setFrom(Jid.of(msg.getUser().getName(), "juick.com", "Juick"));
mm.setBody(msg.getText());
@@ -491,7 +487,7 @@ public class XMPPManager implements NotificationListener {
} else {
int uid_to = userService.getUIDbyName(username);
if (uid_to > 0) {
- pmQueriesService.addPMinRoster(uid_to, p.getFrom().asBareJid().toEscapedString());
+ chatService.addPMinRoster(uid_to, p.getFrom().asBareJid().toEscapedString());
canSubscribe = true;
}
}
@@ -519,7 +515,7 @@ public class XMPPManager implements NotificationListener {
if (!toJuick) {
int uid_to = userService.getUIDbyName(username);
if (uid_to > 0) {
- pmQueriesService.removePMinRoster(uid_to, p.getFrom().asBareJid().toEscapedString());
+ chatService.removePMinRoster(uid_to, p.getFrom().asBareJid().toEscapedString());
}
}
diff --git a/src/main/java/com/juick/config/XMPPConfig.java b/src/main/java/com/juick/config/XMPPConfig.java
index 73077760..5593b228 100644
--- a/src/main/java/com/juick/config/XMPPConfig.java
+++ b/src/main/java/com/juick/config/XMPPConfig.java
@@ -20,7 +20,7 @@ package com.juick.config;
import com.juick.CommandsManager;
import com.juick.XMPPManager;
import com.juick.service.MessagesService;
-import com.juick.service.PMQueriesService;
+import com.juick.service.ChatService;
import com.juick.service.StorageService;
import com.juick.service.UserService;
import com.juick.www.WebApp;
@@ -57,7 +57,7 @@ public class XMPPConfig {
@Inject
private UserService userService;
@Inject
- private PMQueriesService pmQueriesService;
+ private ChatService chatService;
@Inject
private Executor applicationTaskExecutor;
@Inject
@@ -66,7 +66,7 @@ public class XMPPConfig {
@Bean(destroyMethod = "close")
XMPPManager xmppConnection() {
return new XMPPManager(botJid, componentName, componentPort, componentHost, password, vCardImage,
- commandsManager, storageService, messagesService, userService, pmQueriesService,
+ commandsManager, storageService, messagesService, userService, chatService,
applicationTaskExecutor, webApp);
}
}
diff --git a/src/main/java/com/juick/service/ChatService.java b/src/main/java/com/juick/service/ChatService.java
new file mode 100644
index 00000000..b09e93b0
--- /dev/null
+++ b/src/main/java/com/juick/service/ChatService.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2008-2022, Juick
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package com.juick.service;
+
+import com.juick.model.Chat;
+import com.juick.model.User;
+import com.juick.model.Message;
+
+import java.util.List;
+
+/**
+ * Created by aalexeev on 11/13/16.
+ */
+public interface ChatService {
+ boolean createMessage(int uidFrom, int uid_to, String body);
+
+ boolean addPMinRoster(int uid, String jid);
+
+ boolean removePMinRoster(int uid, String jid);
+
+ boolean havePMinRoster(int uid, String jid);
+
+ List getLastChats(User user);
+
+ List getChat(int uid, int uidTo);
+
+ List getInbox(int uid);
+
+ List getOutbox(int uid);
+}
diff --git a/src/main/java/com/juick/service/ChatServiceImpl.java b/src/main/java/com/juick/service/ChatServiceImpl.java
new file mode 100644
index 00000000..2d3fe31a
--- /dev/null
+++ b/src/main/java/com/juick/service/ChatServiceImpl.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (C) 2008-2020, Juick
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package com.juick.service;
+
+import com.juick.model.Chat;
+import com.juick.model.User;
+import com.juick.model.Message;
+import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
+import org.springframework.jdbc.core.namedparam.SqlParameterSource;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * Created by aalexeev on 11/13/16.
+ */
+@Repository
+public class ChatServiceImpl extends BaseJdbcService implements ChatService {
+
+ @Transactional
+ @Override
+ public boolean createMessage(final int uidFrom, final int uid_to, final String body) {
+ return getJdbcTemplate().update(
+ "INSERT INTO pm(user_id, user_id_to, txt) VALUES (?, ?, ?)",
+ uidFrom, uid_to, body) > 0;
+ }
+
+ @Transactional
+ @Override
+ public boolean addPMinRoster(final int uid, final String jid) {
+ return getJdbcTemplate().update(
+ "INSERT INTO pm_inroster(user_id, jid) VALUES (?, ?) ON DUPLICATE KEY UPDATE user_id=user_id", uid, jid) > 0;
+ }
+
+ @Transactional
+ @Override
+ public boolean removePMinRoster(final int uid, final String jid) {
+ return getJdbcTemplate().update(
+ "DELETE FROM pm_inroster WHERE user_id = ? AND jid = ?", uid, jid) > 0;
+ }
+
+ @Transactional
+ @Override
+ public boolean havePMinRoster(final int uid, final String jid) {
+ List res = getJdbcTemplate().queryForList(
+ "SELECT 1 FROM pm_inroster WHERE user_id = ? AND jid = ?",
+ Integer.class,
+ uid, jid);
+ return res.size() > 0;
+ }
+
+ @Transactional(readOnly = true)
+ @Override
+ public List getLastChats(final User user) {
+ return getJdbcTemplate().query(
+ "SELECT l.user_id, users.nick, l.last, pm.txt FROM pm "
+ + "INNER JOIN users ON users.id = pm.user_id "
+ + ""
+ + "INNER JOIN (SELECT user_id, MAX(ts) AS last FROM pm "
+ + "WHERE user_id_to=? GROUP BY user_id) l ON l.last = pm.ts "
+ + "WHERE pm.user_id_to=? "
+ + "ORDER BY l.last DESC",
+ (rs, rowNum) -> {
+ Chat u = new Chat();
+ u.setUid(rs.getInt(1));
+ u.setName(rs.getString(2));
+ u.setLastMessageTimestamp(rs.getTimestamp(3).toInstant());
+ u.setLastMessageText(rs.getString(4).trim());
+ return u;
+ },
+ user.getUid(), user.getUid());
+ }
+
+ @Transactional
+ @Override
+ public List getChat(final int uid, final int uidTo) {
+ SqlParameterSource sqlParameterSource = new MapSqlParameterSource()
+ .addValue("uid", uid)
+ .addValue("uidTo", uidTo);
+
+ return getNamedParameterJdbcTemplate().query(
+ "SELECT pm.user_id, pm.txt, pm.ts, users.nick FROM pm INNER JOIN users ON users.id=pm.user_id WHERE (user_id = :uid AND user_id_to = :uidTo) "
+ + "OR (user_id_to = :uid AND user_id = :uidTo) ORDER BY ts DESC LIMIT 20",
+ sqlParameterSource,
+ (rs, rowNum) -> {
+ Message msg = new Message();
+ int uuid = rs.getInt(1);
+ User user = new User();
+ user.setUid(uuid);
+ user.setName(rs.getString(4));
+ msg.setUser(user);
+ msg.setText(rs.getString(2).trim());
+ msg.setCreated(rs.getTimestamp(3).toInstant());
+ return msg;
+ });
+ }
+
+ @Transactional(readOnly = true)
+ @Override
+ public List getInbox(final int uid) {
+ return getJdbcTemplate().query(
+ "SELECT pm.user_id, users.nick, pm.txt, pm.ts " +
+ "FROM pm INNER JOIN users ON pm.user_id=users.id WHERE pm.user_id_to=? ORDER BY pm.ts DESC LIMIT 20",
+ (rs, num) -> {
+ Message msg = new Message();
+ msg.setUser(new User());
+ msg.getUser().setUid(rs.getInt(1));
+ msg.getUser().setName(rs.getString(2));
+ msg.setText(rs.getString(3).trim());
+ msg.setCreated(rs.getTimestamp(4).toInstant());
+ return msg;
+ },
+ uid);
+ }
+
+ @Transactional(readOnly = true)
+ @Override
+ public List getOutbox(final int uid) {
+ return getJdbcTemplate().query(
+ "SELECT pm.user_id_to, users.nick, pm.txt, " +
+ "pm.ts FROM pm INNER JOIN users ON pm.user_id_to=users.id " +
+ "WHERE pm.user_id=? ORDER BY pm.ts DESC LIMIT 20",
+ (rs, num) -> {
+ Message msg = new Message();
+ msg.setUser(new User());
+ msg.getUser().setUid(rs.getInt(1));
+ msg.getUser().setName(rs.getString(2));
+ msg.setText(rs.getString(3).trim());
+ msg.setCreated(rs.getTimestamp(4).toInstant());
+ return msg;
+ },
+ uid);
+ }
+}
diff --git a/src/main/java/com/juick/service/PMQueriesService.java b/src/main/java/com/juick/service/PMQueriesService.java
deleted file mode 100644
index bb57b7c3..00000000
--- a/src/main/java/com/juick/service/PMQueriesService.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2008-2020, Juick
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-
-package com.juick.service;
-
-import com.juick.model.Chat;
-import com.juick.model.User;
-import com.juick.model.Message;
-
-import java.util.List;
-
-/**
- * Created by aalexeev on 11/13/16.
- */
-public interface PMQueriesService {
- boolean createPM(int uidFrom, int uid_to, String body);
-
- boolean addPMinRoster(int uid, String jid);
-
- boolean removePMinRoster(int uid, String jid);
-
- boolean havePMinRoster(int uid, String jid);
-
- List getLastChats(User user);
-
- List getPMMessages(int uid, int uidTo);
-
- List getLastPMInbox(int uid);
-
- List getLastPMSent(int uid);
-}
diff --git a/src/main/java/com/juick/service/PMQueriesServiceImpl.java b/src/main/java/com/juick/service/PMQueriesServiceImpl.java
deleted file mode 100644
index c2e06da5..00000000
--- a/src/main/java/com/juick/service/PMQueriesServiceImpl.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (C) 2008-2020, Juick
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-
-package com.juick.service;
-
-import com.juick.model.Chat;
-import com.juick.model.User;
-import com.juick.model.Message;
-import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
-import org.springframework.jdbc.core.namedparam.SqlParameterSource;
-import org.springframework.stereotype.Repository;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-
-/**
- * Created by aalexeev on 11/13/16.
- */
-@Repository
-public class PMQueriesServiceImpl extends BaseJdbcService implements PMQueriesService {
-
- @Transactional
- @Override
- public boolean createPM(final int uidFrom, final int uid_to, final String body) {
- return getJdbcTemplate().update(
- "INSERT INTO pm(user_id, user_id_to, txt) VALUES (?, ?, ?)",
- uidFrom, uid_to, body) > 0;
- }
-
- @Transactional
- @Override
- public boolean addPMinRoster(final int uid, final String jid) {
- return getJdbcTemplate().update(
- "INSERT INTO pm_inroster(user_id, jid) VALUES (?, ?) ON DUPLICATE KEY UPDATE user_id=user_id", uid, jid) > 0;
- }
-
- @Transactional
- @Override
- public boolean removePMinRoster(final int uid, final String jid) {
- return getJdbcTemplate().update(
- "DELETE FROM pm_inroster WHERE user_id = ? AND jid = ?", uid, jid) > 0;
- }
-
- @Transactional
- @Override
- public boolean havePMinRoster(final int uid, final String jid) {
- List res = getJdbcTemplate().queryForList(
- "SELECT 1 FROM pm_inroster WHERE user_id = ? AND jid = ?",
- Integer.class,
- uid, jid);
- return res.size() > 0;
- }
-
- @Transactional(readOnly = true)
- @Override
- public List getLastChats(final User user) {
- return getJdbcTemplate().query(
- "SELECT l.user_id, users.nick, l.last, pm.txt FROM pm "
- + "INNER JOIN users ON users.id = pm.user_id "
- + ""
- + "INNER JOIN (SELECT user_id, MAX(ts) AS last FROM pm "
- + "WHERE user_id_to=? GROUP BY user_id) l ON l.last = pm.ts "
- + "WHERE pm.user_id_to=? "
- + "ORDER BY l.last DESC",
- (rs, rowNum) -> {
- Chat u = new Chat();
- u.setUid(rs.getInt(1));
- u.setName(rs.getString(2));
- u.setLastMessageTimestamp(rs.getTimestamp(3).toInstant());
- u.setLastMessageText(rs.getString(4).trim());
- return u;
- },
- user.getUid(), user.getUid());
- }
-
- @Transactional
- @Override
- public List getPMMessages(final int uid, final int uidTo) {
- SqlParameterSource sqlParameterSource = new MapSqlParameterSource()
- .addValue("uid", uid)
- .addValue("uidTo", uidTo);
-
- return getNamedParameterJdbcTemplate().query(
- "SELECT pm.user_id, pm.txt, pm.ts, users.nick FROM pm INNER JOIN users ON users.id=pm.user_id WHERE (user_id = :uid AND user_id_to = :uidTo) "
- + "OR (user_id_to = :uid AND user_id = :uidTo) ORDER BY ts DESC LIMIT 20",
- sqlParameterSource,
- (rs, rowNum) -> {
- Message msg = new Message();
- int uuid = rs.getInt(1);
- User user = new User();
- user.setUid(uuid);
- user.setName(rs.getString(4));
- msg.setUser(user);
- msg.setText(rs.getString(2).trim());
- msg.setCreated(rs.getTimestamp(3).toInstant());
- return msg;
- });
- }
-
- @Transactional(readOnly = true)
- @Override
- public List getLastPMInbox(final int uid) {
- return getJdbcTemplate().query(
- "SELECT pm.user_id, users.nick, pm.txt, pm.ts " +
- "FROM pm INNER JOIN users ON pm.user_id=users.id WHERE pm.user_id_to=? ORDER BY pm.ts DESC LIMIT 20",
- (rs, num) -> {
- Message msg = new Message();
- msg.setUser(new User());
- msg.getUser().setUid(rs.getInt(1));
- msg.getUser().setName(rs.getString(2));
- msg.setText(rs.getString(3).trim());
- msg.setCreated(rs.getTimestamp(4).toInstant());
- return msg;
- },
- uid);
- }
-
- @Transactional(readOnly = true)
- @Override
- public List getLastPMSent(final int uid) {
- return getJdbcTemplate().query(
- "SELECT pm.user_id_to, users.nick, pm.txt, " +
- "pm.ts FROM pm INNER JOIN users ON pm.user_id_to=users.id " +
- "WHERE pm.user_id=? ORDER BY pm.ts DESC LIMIT 20",
- (rs, num) -> {
- Message msg = new Message();
- msg.setUser(new User());
- msg.getUser().setUid(rs.getInt(1));
- msg.getUser().setName(rs.getString(2));
- msg.setText(rs.getString(3).trim());
- msg.setCreated(rs.getTimestamp(4).toInstant());
- return msg;
- },
- uid);
- }
-}
diff --git a/src/main/java/com/juick/www/api/PM.java b/src/main/java/com/juick/www/api/PM.java
index 55c1f2d0..96387dce 100644
--- a/src/main/java/com/juick/www/api/PM.java
+++ b/src/main/java/com/juick/www/api/PM.java
@@ -26,7 +26,7 @@ import com.juick.util.HttpBadRequestException;
import com.juick.util.HttpForbiddenException;
import com.juick.util.WebUtils;
import com.juick.www.WebApp;
-import com.juick.service.PMQueriesService;
+import com.juick.service.ChatService;
import com.juick.service.UserService;
import com.juick.service.component.SystemEvent;
import com.juick.service.security.annotation.Visitor;
@@ -49,7 +49,7 @@ public class PM {
@Inject
private UserService userService;
@Inject
- private PMQueriesService pmQueriesService;
+ private ChatService chatService;
@Inject
private ApplicationEventPublisher applicationEventPublisher;
@Inject
@@ -68,7 +68,7 @@ public class PM {
throw new HttpBadRequestException();
}
- List msgs = pmQueriesService.getPMMessages(visitor.getUid(), uid);
+ List msgs = chatService.getChat(visitor.getUid(), uid);
msgs.forEach(m -> m.getUser().setAvatar(webApp.getAvatarUrl(m.getUser())));
return msgs;
}
@@ -91,7 +91,7 @@ public class PM {
throw new HttpForbiddenException();
}
- if (pmQueriesService.createPM(visitor.getUid(), userTo.getUid(), body)) {
+ if (chatService.createMessage(visitor.getUid(), userTo.getUid(), body)) {
Message jmsg = new Message();
jmsg.setUser(visitor);
jmsg.setText(body);
@@ -111,7 +111,7 @@ public class PM {
@RequestParam(defaultValue = "5") int cnt) {
// TODO: ignore cnt param for now but make sure paging param will not be cnt
- List lastconv = pmQueriesService.getLastChats(visitor);
+ List lastconv = chatService.getLastChats(visitor);
lastconv.forEach(c -> c.setAvatar(webApp.getAvatarUrl(c)));
PrivateChats pms = new PrivateChats();
pms.setUsers(lastconv);
diff --git a/src/main/java/com/juick/www/controllers/Site.java b/src/main/java/com/juick/www/controllers/Site.java
index dadf7ed6..f45fe8f2 100644
--- a/src/main/java/com/juick/www/controllers/Site.java
+++ b/src/main/java/com/juick/www/controllers/Site.java
@@ -74,7 +74,7 @@ public class Site {
@Inject
private MessagesService messagesService;
@Inject
- private PMQueriesService pmQueriesService;
+ private ChatService chatService;
@Inject
private WebApp webApp;
@Inject
@@ -455,7 +455,7 @@ public class Site {
protected String doGetInbox(@Visitor User visitor, ModelMap model) {
visitor.setAvatar(webApp.getAvatarWebPath(visitor));
String title = "PM: Inbox";
- List msgs = pmQueriesService.getLastPMInbox(visitor.getUid());
+ List msgs = chatService.getInbox(visitor.getUid());
msgs.forEach(m -> m.getUser().setAvatar(webApp.getAvatarWebPath(m.getUser())));
fillUserModel(model, visitor, visitor);
model.addAttribute("title", title);
@@ -469,7 +469,7 @@ public class Site {
protected String doGetSent(@Visitor User visitor, @RequestParam(required = false) String uname, ModelMap model) {
visitor.setAvatar(webApp.getAvatarWebPath(visitor));
String title = "PM: Sent";
- List msgs = pmQueriesService.getLastPMSent(visitor.getUid());
+ List msgs = chatService.getOutbox(visitor.getUid());
msgs.forEach(m -> m.getUser().setAvatar(webApp.getAvatarWebPath(m.getUser())));
if (WebUtils.isNotUserName(uname)) {
uname = StringUtils.EMPTY;
--
cgit v1.2.3