diff options
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; + } } |