diff options
author | 2018-09-27 22:56:43 +0300 | |
---|---|---|
committer | 2018-09-27 22:56:43 +0300 | |
commit | 563966d66e812829779ff7184ff9b5d372e4b3aa (patch) | |
tree | 464d6eb600fa1af51631a5557d369a1a3b5665d7 /juick-server/src/main/java | |
parent | ed9f1256cf2bfd93b749b6e2ef22114d7fcd89bc (diff) |
scripts: pm over api
Diffstat (limited to 'juick-server/src/main/java')
-rw-r--r-- | juick-server/src/main/java/com/juick/server/www/controllers/NewMessage.java | 92 |
1 files changed, 2 insertions, 90 deletions
diff --git a/juick-server/src/main/java/com/juick/server/www/controllers/NewMessage.java b/juick-server/src/main/java/com/juick/server/www/controllers/NewMessage.java index 6fb13009..6b5938a5 100644 --- a/juick-server/src/main/java/com/juick/server/www/controllers/NewMessage.java +++ b/juick-server/src/main/java/com/juick/server/www/controllers/NewMessage.java @@ -16,39 +16,16 @@ */ package com.juick.server.www.controllers; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.juick.Message; -import com.juick.User; -import com.juick.model.AnonymousUser; -import com.juick.model.CommandResult; -import com.juick.server.util.*; -import com.juick.server.www.WebApp; -import com.juick.service.*; +import com.juick.server.util.UserUtils; +import com.juick.service.TagService; import org.apache.commons.lang3.StringUtils; import org.apache.commons.text.StringEscapeUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.client.HttpClientErrorException; -import org.springframework.web.client.RestTemplate; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.util.UriComponentsBuilder; import javax.inject.Inject; -import java.io.IOException; -import java.net.URI; -import java.net.URL; import java.util.stream.Collectors; /** @@ -59,32 +36,6 @@ public class NewMessage { @Inject private TagService tagService; - @Inject - private MessagesService messagesService; - @Inject - private UserService userService; - @Inject - private SubscriptionService subscriptionService; - @Inject - private CrosspostService crosspostService; - @Inject - private PMQueriesService pmQueriesService; - @Inject - private WebApp webApp; - @Inject - private ObjectMapper jsonMapper; - @Inject - private ImagesService imagesService; - @Value("${img_path:#{systemEnvironment['TEMP'] ?: '/tmp'}}") - private String imgDir; - @Value("${upload_tmp_dir:#{systemEnvironment['TEMP'] ?: '/tmp'}}") - private String tmpDir; - @Value("${api_url:http://localhost:8080}") - private String apiUrl; - private RestTemplate rest = new RestTemplate(); - - private static final Logger logger = LoggerFactory.getLogger(NewMessage.class); - @GetMapping("/post") protected String postAction(@RequestParam(required = false) String body, ModelMap model) { com.juick.User visitor = UserUtils.getCurrentUser(); @@ -105,43 +56,4 @@ public class NewMessage { .sorted((e1, e2) -> Integer.compare(e2.getUsageCount(), e1.getUsageCount())).map(t -> t.getTag().getName()).collect(Collectors.toList())); return "views/post"; } - @PostMapping("/pm/send") - public String doPostPM(@RequestParam(name = "uname", required = false) String unameParam, - @RequestParam String body) throws IOException { - com.juick.User visitor = UserUtils.getCurrentUser(); - if (visitor.isAnonymous() || visitor.isBanned()) { - throw new HttpForbiddenException(); - } - String uname = unameParam; - if (uname.startsWith("@")) { - uname = uname.substring(1); - } - User userTo = AnonymousUser.INSTANCE; - if (WebUtils.isUserName(uname)) { - userTo = userService.getUserByName(uname); - } - - if (userTo.isAnonymous() || body.length() > 10240) { - throw new HttpBadRequestException(); - } - - if (userService.isInBLAny(userTo.getUid(), visitor.getUid())) { - throw new HttpForbiddenException(); - } - - HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); - MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); - HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(params, headers); - - params.add("body", String.format("@%s %s", userTo.getName(), body)); - params.add("hash", userService.getHashByUID(visitor.getUid())); - URI postUri = UriComponentsBuilder.fromUriString(apiUrl).path("/api/post").build().toUri(); - ResponseEntity<CommandResult> result = rest.postForEntity( - postUri, - request, CommandResult.class); - logger.info("/pm: {}", jsonMapper.writeValueAsString(result.getBody())); - return "redirect:/pm/sent"; - - } } |