use React Query to fetch messages
Change-Id: I85d0700efcc947462943ed0379498902b73950b3
diff --git a/client/src/services/conversation.js b/client/src/services/conversation.js
new file mode 100644
index 0000000..f6b0f49
--- /dev/null
+++ b/client/src/services/conversation.js
@@ -0,0 +1,34 @@
+import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
+import axios from "axios"
+
+export const useConversationQuery = (accountId, conversationId) => {
+ return useQuery(
+ ["conversation", accountId, conversationId],
+ () => fetchConversation(accountId, conversationId),
+ {
+ "enabled": !!(accountId && conversationId),
+ }
+ )
+}
+
+export const useMessagesQuery = (accountId, conversationId) => {
+ return useQuery(
+ ["messages", accountId, conversationId],
+ () => fetchMessages(accountId, conversationId),
+ {
+ "enabled": !!(accountId && conversationId),
+ }
+ )
+}
+
+const fetchConversation = (accountId, conversationId) => (
+ axios
+ .get(`/api/accounts/${accountId}/conversations/${conversationId}`)
+ .then((result) => result.data)
+)
+
+const fetchMessages = (accountId, conversationId) => (
+ axios
+ .get(`/api/accounts/${accountId}/conversations/${conversationId}/messages`)
+ .then((result) => result.data)
+)
\ No newline at end of file