diff options
author | Zhongheng Liu <z.liu@outlook.com.gr> | 2024-01-02 17:31:58 +0200 |
---|---|---|
committer | Zhongheng Liu <z.liu@outlook.com.gr> | 2024-01-02 17:31:58 +0200 |
commit | f2d3c948bf424c116c151c45b1a0f6f19e3c24d6 (patch) | |
tree | 44cbd402e11ab7a1c2b90b6c15f75ba4d92e4509 /src | |
parent | 82229cb32b6d4e10478f0320cdc5a004994065b0 (diff) | |
download | epq-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
Diffstat (limited to 'src')
-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.java | 13 | ||||
-rw-r--r-- | src/main/java/me/imsonmia/epqapi/repository/ChatMessageRepository.java | 8 | ||||
-rw-r--r-- | src/main/java/me/imsonmia/epqapi/repository/MessageRepository.java | 7 |
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> { +} |