From 7bbdb9c85d18b8f6200fec211e14bd6b2ceb373d Mon Sep 17 00:00:00 2001 From: Zhongheng Liu Date: Tue, 2 Jan 2024 19:09:15 +0200 Subject: Fixed bug with init of message repository refactored GetMapping of restore message history function --- .../me/imsonmia/epqapi/controller/UserController.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/main/java/me/imsonmia/epqapi/controller/UserController.java') diff --git a/src/main/java/me/imsonmia/epqapi/controller/UserController.java b/src/main/java/me/imsonmia/epqapi/controller/UserController.java index bc7079f..cd35735 100644 --- a/src/main/java/me/imsonmia/epqapi/controller/UserController.java +++ b/src/main/java/me/imsonmia/epqapi/controller/UserController.java @@ -1,5 +1,8 @@ package me.imsonmia.epqapi.controller; +import java.time.Instant; +import java.util.ArrayList; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -9,7 +12,9 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import me.imsonmia.epqapi.model.Message; import me.imsonmia.epqapi.model.User; +import me.imsonmia.epqapi.repository.MessageRepository; import me.imsonmia.epqapi.repository.UserRepository; @RestController @@ -17,6 +22,8 @@ import me.imsonmia.epqapi.repository.UserRepository; public class UserController { @Autowired private UserRepository userRepository; + @Autowired + private MessageRepository messageRepository; @GetMapping("/user/{id}") public User getUserById(@PathVariable(value = "id") Long id) { return userRepository.findById(id).get(); @@ -34,4 +41,15 @@ public class UserController { ) { userRepository.deleteById(id); } + @GetMapping("/msg/{from}") + public ArrayList getMessagesFromTimestamp(@PathVariable(value = "from") Long fromTimestamp) { + ArrayList messages = new ArrayList<>(); + Instant targetInstant = Instant.ofEpochMilli(fromTimestamp); + for (Message msg : messageRepository.findAll()) { + Instant t = Instant.ofEpochMilli(msg.getTimeMillis()); + if (t.isBefore(targetInstant)) {continue;} + messages.add(msg); + } + return messages; + } } -- cgit