aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/www
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2023-01-22 14:14:58 +0300
committerGravatar Vitaly Takmazov2023-01-22 14:14:58 +0300
commit9ad08dc78e0cdbe2cdebf10a96c800e72d48e48b (patch)
tree25ef5787f8a77bd24c40490edaafe7d8a4697389 /src/main/java/com/juick/www
parentd17e5714c9b421fce507d310fd913ce3160a1764 (diff)
Refactor messages service, remove 2 unneeded SQL queries
Diffstat (limited to 'src/main/java/com/juick/www')
-rw-r--r--src/main/java/com/juick/www/api/Post.java2
-rw-r--r--src/main/java/com/juick/www/controllers/Site.java2
-rw-r--r--src/main/java/com/juick/www/filters/AnythingFilter.java22
3 files changed, 13 insertions, 13 deletions
diff --git a/src/main/java/com/juick/www/api/Post.java b/src/main/java/com/juick/www/api/Post.java
index 97311c21..4f1c2cad 100644
--- a/src/main/java/com/juick/www/api/Post.java
+++ b/src/main/java/com/juick/www/api/Post.java
@@ -224,7 +224,7 @@ public class Post {
@RequestParam Integer mid,
@RequestParam(required = false, defaultValue = "0") Integer rid,
@RequestParam String body) {
- User author = rid == 0 ? messagesService.getMessageAuthor(mid) : messagesService.getReply(mid, rid).getUser();
+ User author = rid == 0 ? messagesService.getMessage(mid).orElseThrow(HttpBadRequestException::new).getUser() : messagesService.getReply(mid, rid).getUser();
if (visitor.equals(author)) {
if (messagesService.updateMessage(mid, rid, body, false)) {
Message result = rid == 0 ?
diff --git a/src/main/java/com/juick/www/controllers/Site.java b/src/main/java/com/juick/www/controllers/Site.java
index 06513fcc..bfe7d654 100644
--- a/src/main/java/com/juick/www/controllers/Site.java
+++ b/src/main/java/com/juick/www/controllers/Site.java
@@ -569,8 +569,6 @@ public class Site {
model.addAttribute("headers", headers);
model.addAttribute("visitorSubscribed", messagesService.isSubscribed(visitor.getUid(), msg.getMid()));
model.addAttribute("visitorInBL", userService.isInBL(msg.getUser().getUid(), visitor.getUid()));
- model.addAttribute("recomm", messagesService.getMessagesRecommendations(Collections.singletonList(msg.getMid()))
- .stream().map(Pair::getRight).toList());
List<Integer> blUIDs = new ArrayList<>();
for (Message reply : replies) {
if (reply.getUser().getUid() != msg.getUser().getUid() && !blUIDs.contains(reply.getUser().getUid())) {
diff --git a/src/main/java/com/juick/www/filters/AnythingFilter.java b/src/main/java/com/juick/www/filters/AnythingFilter.java
index 2ec82801..ffd11b29 100644
--- a/src/main/java/com/juick/www/filters/AnythingFilter.java
+++ b/src/main/java/com/juick/www/filters/AnythingFilter.java
@@ -45,8 +45,8 @@ public class AnythingFilter extends OncePerRequestFilter {
@Override
public void doFilterInternal(HttpServletRequest servletRequest,
- HttpServletResponse servletResponse,
- FilterChain filterChain) throws IOException, ServletException {
+ HttpServletResponse servletResponse,
+ FilterChain filterChain) throws IOException, ServletException {
String upgrade = servletRequest.getHeader("Connection");
if (upgrade != null && upgrade.equals("Upgrade")) {
filterChain.doFilter(servletRequest, servletResponse);
@@ -57,21 +57,23 @@ public class AnythingFilter extends OncePerRequestFilter {
int before = NumberUtils.toInt(components.getQueryParams().getFirst("before"), 0);
if (before == 0) {
boolean isPostNumber = WebUtils.isPostNumber(anything);
- int messageId = isPostNumber ?
- NumberUtils.toInt(anything) : 0;
+ int messageId = isPostNumber ? NumberUtils.toInt(anything) : 0;
if (isPostNumber && anything.equals(Integer.toString(messageId))) {
if (messageId > 0) {
- User author = messagesService.getMessageAuthor(messageId);
+ var message = messagesService.getMessage(messageId);
+ if (message.isPresent()) {
+ User author = message.get().getUser();
- if (author != null) {
- servletResponse.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
- servletResponse.setHeader("Location", "/" + author.getName() + "/" + anything);
- return;
+ if (author != null) {
+ servletResponse.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
+ servletResponse.setHeader("Location", "/" + author.getName() + "/" + anything);
+ return;
+ }
}
}
}
- ;
+ ;
if (userService.getUsernames().stream().anyMatch(name -> name.equals(anything))) {
servletResponse.sendRedirect("/" + anything + "/");
} else {