Merge pull request #1 from tonyrewin/feature/sse-connect

Feature/sse connect
This commit is contained in:
Ilya Y 2023-11-16 18:42:32 +03:00 committed by GitHub
commit cf87fb460c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 21 additions and 13 deletions

View File

@ -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])
}
}

View File

@ -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 {

View File

@ -8,9 +8,9 @@ export default gql`
id
body
author
createdAt
replyTo
updatedAt
created_at
reply_to
updated_at
}
}
}

View 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
}
}
`

View File

@ -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
}
}
}