aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhongheng Liu <z.liu@outlook.com.gr>2024-01-02 17:31:58 +0200
committerZhongheng Liu <z.liu@outlook.com.gr>2024-01-02 17:31:58 +0200
commitf2d3c948bf424c116c151c45b1a0f6f19e3c24d6 (patch)
tree44cbd402e11ab7a1c2b90b6c15f75ba4d92e4509
parent82229cb32b6d4e10478f0320cdc5a004994065b0 (diff)
downloadepq-api-f2d3c948bf424c116c151c45b1a0f6f19e3c24d6.tar.gz
epq-api-f2d3c948bf424c116c151c45b1a0f6f19e3c24d6.tar.bz2
epq-api-f2d3c948bf424c116c151c45b1a0f6f19e3c24d6.zip
Added message database support in repo
Started on history fetching with getMapping
-rw-r--r--src/main/java/me/imsonmia/epqapi/controller/MessageController.java (renamed from src/main/java/me/imsonmia/epqapi/controller/ChatMessageController.java)16
-rw-r--r--src/main/java/me/imsonmia/epqapi/model/Message.java13
-rw-r--r--src/main/java/me/imsonmia/epqapi/repository/ChatMessageRepository.java8
-rw-r--r--src/main/java/me/imsonmia/epqapi/repository/MessageRepository.java7
4 files changed, 35 insertions, 9 deletions
diff --git a/src/main/java/me/imsonmia/epqapi/controller/ChatMessageController.java b/src/main/java/me/imsonmia/epqapi/controller/MessageController.java
index 7bfcba6..781b6ff 100644
--- a/src/main/java/me/imsonmia/epqapi/controller/ChatMessageController.java
+++ b/src/main/java/me/imsonmia/epqapi/controller/MessageController.java
@@ -1,19 +1,33 @@
package me.imsonmia.epqapi.controller;
+import java.util.ArrayList;
+
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
import me.imsonmia.epqapi.model.Message;
+import me.imsonmia.epqapi.repository.MessageRepository;
@Controller
// @RequestMapping("/api/v1")
-public class ChatMessageController {
+public class MessageController {
+ private MessageRepository repository;
@MessageMapping("/chat")
@SendTo("/sub/chat")
public Message messageHandler(Message message) throws Exception {
+ // Add message to repository
+ repository.save(message);
+
+ // Forward message to subscribers of Stomp endpoint
return message;
}
+ @GetMapping("/chat/history/{from}")
+ public ArrayList<Message> getMessagesFromTimestamp(@PathVariable(value = "from") Long fromTimestamp) {
+ return new ArrayList<Message>();
+ }
// @GetMapping("/msg/{id}")
// public ChatMessage getMessageById(@PathVariable(value = "id") Long id) {
// return chatMessageRepository.findById(id).get();
diff --git a/src/main/java/me/imsonmia/epqapi/model/Message.java b/src/main/java/me/imsonmia/epqapi/model/Message.java
index 1e7844a..1de1e15 100644
--- a/src/main/java/me/imsonmia/epqapi/model/Message.java
+++ b/src/main/java/me/imsonmia/epqapi/model/Message.java
@@ -1,9 +1,22 @@
package me.imsonmia.epqapi.model;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+
+@Entity
+@Table(name = "message")
public class Message {
+ @GeneratedValue
+ @Id
+ private Long id;
private String from;
private String to;
private String content;
+ public Long getId() {
+ return id;
+ }
public String getFrom() {
return this.from;
}
diff --git a/src/main/java/me/imsonmia/epqapi/repository/ChatMessageRepository.java b/src/main/java/me/imsonmia/epqapi/repository/ChatMessageRepository.java
deleted file mode 100644
index 8ee82e2..0000000
--- a/src/main/java/me/imsonmia/epqapi/repository/ChatMessageRepository.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package me.imsonmia.epqapi.repository;
-
-import org.springframework.data.repository.CrudRepository;
-
-import me.imsonmia.epqapi.model.ChatMessage;
-
-public interface ChatMessageRepository extends CrudRepository<ChatMessage, Long> {
-}
diff --git a/src/main/java/me/imsonmia/epqapi/repository/MessageRepository.java b/src/main/java/me/imsonmia/epqapi/repository/MessageRepository.java
new file mode 100644
index 0000000..631ea3c
--- /dev/null
+++ b/src/main/java/me/imsonmia/epqapi/repository/MessageRepository.java
@@ -0,0 +1,7 @@
+package me.imsonmia.epqapi.repository;
+
+import org.springframework.data.repository.CrudRepository;
+import me.imsonmia.epqapi.model.Message;
+
+public interface MessageRepository extends CrudRepository<Message, Long> {
+}