|
|
@ -44,10 +44,10 @@ public class ChatMessageController { |
|
|
|
|
|
|
|
@PostMapping(value = "/post/message", consumes = { "application/json" }) |
|
|
|
@ResponseBody |
|
|
|
public ResponseEntity<?> newMessage(@RequestBody @Valid ChatMessageDTO chatMessageDTO, |
|
|
|
BindingResult bindingResult, Principal principal) { |
|
|
|
public ResponseEntity<?> newMessage(@RequestBody @Valid ChatMessageDTO chatMessageDTO, BindingResult bindingResult, |
|
|
|
Principal principal) { |
|
|
|
if (bindingResult.hasErrors()) { |
|
|
|
|
|
|
|
|
|
|
|
// return new ResponseEntity<List<FieldError>>(bindingResult.getFieldErrors(),HttpStatus.BAD_REQUEST); |
|
|
|
return new ResponseEntity<ErrorResponse>(handleException(bindingResult), HttpStatus.BAD_REQUEST); |
|
|
|
} |
|
|
@ -58,38 +58,35 @@ public class ChatMessageController { |
|
|
|
chatMessageDTO = chatService.saveNewMessage(fromUser, toUser, messageCipher); |
|
|
|
return new ResponseEntity<ChatMessageDTO>(chatMessageDTO, HttpStatus.CREATED); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Method that check against {@code @Valid} Objects passed to controller endpoints |
|
|
|
* Method that check against {@code @Valid} Objects passed to controller |
|
|
|
* endpoints |
|
|
|
* |
|
|
|
* @param exception |
|
|
|
* @return a {@code ErrorResponse} |
|
|
|
* @see com.aroussi.util.validation.ErrorResponse |
|
|
|
*/ |
|
|
|
@ExceptionHandler(value=MethodArgumentNotValidException.class) |
|
|
|
@ExceptionHandler(value = MethodArgumentNotValidException.class) |
|
|
|
@ResponseStatus(HttpStatus.BAD_REQUEST) |
|
|
|
public ErrorResponse handleException(MethodArgumentNotValidException exception) { |
|
|
|
|
|
|
|
List<ErrorModel> errorMessages = exception.getBindingResult().getFieldErrors().stream() |
|
|
|
.map(err -> new ErrorModel(err.getField(), err.getRejectedValue(), err.getDefaultMessage())) |
|
|
|
.distinct() |
|
|
|
.collect(Collectors.toList()); |
|
|
|
return ErrorResponse.builder().errorMessage(errorMessages).build(); |
|
|
|
List<ErrorModel> errorMessages = exception.getBindingResult().getFieldErrors().stream() |
|
|
|
.map(err -> new ErrorModel(err.getField(), err.getRejectedValue(), err.getDefaultMessage())).distinct() |
|
|
|
.collect(Collectors.toList()); |
|
|
|
return ErrorResponse.builder().errorMessage(errorMessages).build(); |
|
|
|
} |
|
|
|
|
|
|
|
@ExceptionHandler(value=MethodArgumentNotValidException.class) |
|
|
|
|
|
|
|
@ExceptionHandler(value = MethodArgumentNotValidException.class) |
|
|
|
@ResponseStatus(HttpStatus.BAD_REQUEST) |
|
|
|
public ErrorResponse handleException(BindingResult bindingResult) { |
|
|
|
|
|
|
|
List<ErrorModel> errorMessages = bindingResult.getFieldErrors().stream() |
|
|
|
.map(err -> new ErrorModel(err.getField(), err.getRejectedValue(), err.getDefaultMessage())) |
|
|
|
.distinct() |
|
|
|
.collect(Collectors.toList()); |
|
|
|
return ErrorResponse.builder().errorMessage(errorMessages).build(); |
|
|
|
List<ErrorModel> errorMessages = bindingResult.getFieldErrors().stream() |
|
|
|
.map(err -> new ErrorModel(err.getField(), err.getRejectedValue(), err.getDefaultMessage())).distinct() |
|
|
|
.collect(Collectors.toList()); |
|
|
|
return ErrorResponse.builder().errorMessage(errorMessages).build(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping(value = "/get/messages/{userName}") |
|
|
|
@ResponseBody |
|
|
|
public List<ChatMessageDTO> sendAllMessages(@PathVariable String userName, Principal principal) { |
|
|
@ -131,11 +128,16 @@ public class ChatMessageController { |
|
|
|
public List<String> getAllOtherUsers(Principal principal) { |
|
|
|
return userService.findAllOtherUsers(principal.getName()); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/get/active-users") |
|
|
|
public List<ActiveUserDTO> getAllOtherActiveUsers(Principal principal) { |
|
|
|
return userService.getOtherActiveUsers(principal.getName()); |
|
|
|
} |
|
|
|
|
|
|
|
@GetMapping("/get/token") |
|
|
|
public ResponseEntity<?> getToken() { |
|
|
|
return new ResponseEntity<String>(HttpStatus.OK); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//public ResponseEntity<List<ChatMessage>> getMessages(@PathVariable String userName, Principal principal) { |
|
|
|