Merge pull request #1 from tonyrewin/feature/sse-connect
Feature/sse connect
This commit is contained in:
commit
cf87fb460c
|
@ -32,12 +32,12 @@ export const InboxProvider = (props: { children: JSX.Element }) => {
|
|||
const handleMessage = (sseMessage) => {
|
||||
console.log('[context.inbox]:', sseMessage)
|
||||
// TODO: handle all action types: create update delete join left
|
||||
if (['create', 'update', 'delete'].includes(sseMessage.action)) {
|
||||
if (sseMessage.entity == 'message') {
|
||||
const relivedMessage = sseMessage.payload
|
||||
setMessages((prev) => [...prev, relivedMessage])
|
||||
} else if (['left', 'join'].includes(sseMessage.action)) {
|
||||
// TODO: set chat members
|
||||
console.debug(sseMessage)
|
||||
} else if (sseMessage.entity == 'chat') {
|
||||
const relivedChat = sseMessage.payload
|
||||
setChats((prev) => [...prev, relivedChat])
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ export const NotificationsProvider = (props: { children: JSX.Element }) => {
|
|||
},
|
||||
onmessage(event) {
|
||||
const m: SSEMessage = JSON.parse(event.data)
|
||||
if (m.entity === 'chat') {
|
||||
if (m.entity === 'chat' || m.entity == 'message') {
|
||||
console.log('[context.notifications] Received message:', m)
|
||||
messageHandler()(m)
|
||||
} else {
|
||||
|
|
|
@ -8,9 +8,9 @@ export default gql`
|
|||
id
|
||||
body
|
||||
author
|
||||
createdAt
|
||||
replyTo
|
||||
updatedAt
|
||||
created_at
|
||||
reply_to
|
||||
updated_at
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
9
src/graphql/mutation/mark-as-read.ts
Normal file
9
src/graphql/mutation/mark-as-read.ts
Normal file
|
@ -0,0 +1,9 @@
|
|||
import { gql } from '@urql/core'
|
||||
|
||||
export default gql`
|
||||
mutation MarkAsReadMutation($message_id: Int!, $chat_id: String!) {
|
||||
markAsRead(message_id: $message_id, chat_id: $chat_id) {
|
||||
error
|
||||
}
|
||||
}
|
||||
`
|
|
@ -5,13 +5,12 @@ export default gql`
|
|||
loadMessagesBy(by: $by, limit: $limit, offset: $offset) {
|
||||
error
|
||||
messages {
|
||||
id
|
||||
author
|
||||
body
|
||||
replyTo
|
||||
createdAt
|
||||
id
|
||||
updatedAt
|
||||
replyTo
|
||||
reply_to
|
||||
created_at
|
||||
updated_at
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user