diff options
author | Zhongheng Liu <z.liu@outlook.com.gr> | 2024-01-02 19:09:15 +0200 |
---|---|---|
committer | Zhongheng Liu <z.liu@outlook.com.gr> | 2024-01-02 19:09:15 +0200 |
commit | 7bbdb9c85d18b8f6200fec211e14bd6b2ceb373d (patch) | |
tree | 8958811e21c09ba76a6056a6f20f5bb71f504d9a /src/main/java/me/imsonmia/epqapi/controller/UserController.java | |
parent | fdedd75807271485dbeb258496c005d1f8704610 (diff) | |
download | epq-api-7bbdb9c85d18b8f6200fec211e14bd6b2ceb373d.tar.gz epq-api-7bbdb9c85d18b8f6200fec211e14bd6b2ceb373d.tar.bz2 epq-api-7bbdb9c85d18b8f6200fec211e14bd6b2ceb373d.zip |
Fixed bug with init of message repository
refactored GetMapping of restore message history function
Diffstat (limited to 'src/main/java/me/imsonmia/epqapi/controller/UserController.java')
-rw-r--r-- | src/main/java/me/imsonmia/epqapi/controller/UserController.java | 18 |
1 files changed, 18 insertions, 0 deletions
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<Message> getMessagesFromTimestamp(@PathVariable(value = "from") Long fromTimestamp) { + ArrayList<Message> 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; + } } |