refactor: restantes das conexoes para a conexao ws global

websocket
willian-pessoa 2024-05-09 15:59:02 -03:00
parent 5981f9dd5e
commit dac57f9d48
11 changed files with 169 additions and 124 deletions

View File

@ -3,8 +3,8 @@ import React, { useState, useEffect, useRef, useContext } from "react"
import * as Yup from "yup"
import { Formik, Form, Field } from "formik"
import { toast } from "react-toastify"
import openSocket from 'socket.io-client'
//import openSocket from 'socket.io-client'
import { socket } from "../../services/socket"
import {
makeStyles,
@ -91,9 +91,9 @@ const StatusChatEndModal = ({
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
socket.on('settings', (data) => {
const onSettingsStatusChatEndModal = (data) => {
if (data.action === 'update') {
setSettings((prevState) => {
const aux = [...prevState]
@ -102,10 +102,12 @@ const StatusChatEndModal = ({
return aux
})
}
})
}
socket.on('settings', onSettingsStatusChatEndModal)
return () => {
socket.disconnect()
socket.off("settings", onSettingsStatusChatEndModal)
}
}, [])

View File

@ -1,5 +1,6 @@
import React, { useState, useEffect, useReducer, useCallback, useContext } from "react"
import openSocket from "socket.io-client"
//import openSocket from "socket.io-client"
import { socket } from "../../services/socket"
import { toast } from "react-toastify"
import { useHistory } from "react-router-dom"
@ -260,9 +261,9 @@ const Contacts = () => {
}, [searchParam, pageNumber])
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
socket.on("contactsBulkInsertOnQueueStatus", (data) => {
const onContactsBulkContacts = (data) => {
if (data.action === 'update') {
if (String(data.insertOnQueue.adminId) === String(user.id)) {
@ -278,9 +279,11 @@ const Contacts = () => {
}
}
})
}
socket.on("contact", (data) => {
socket.on("contactsBulkInsertOnQueueStatus", onContactsBulkContacts)
const onContactContacts = (data) => {
if (data.action === "update" || data.action === "create") {
dispatch({ type: "UPDATE_CONTACTS", payload: data.contact })
}
@ -288,10 +291,13 @@ const Contacts = () => {
if (data.action === "delete") {
dispatch({ type: "DELETE_CONTACT", payload: +data.contactId })
}
})
}
socket.on("contact", onContactContacts)
return () => {
socket.disconnect()
socket.off("contact", onContactContacts)
socket.off("contactsBulkInsertOnQueueStatus", onContactsBulkContacts)
}
}, [user, history])

View File

@ -17,7 +17,8 @@ import { AuthContext } from "../../context/Auth/AuthContext"
// import { i18n } from "../../translate/i18n";
import Chart from "./Chart"
import PieChart from "./PieChart"
import openSocket from "socket.io-client"
//import openSocket from "socket.io-client"
import { socket } from "../../services/socket"
import api from "../../services/api"
import { Can } from "../../components/Can"
@ -356,32 +357,40 @@ const Dashboard = () => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
socket.on("ticketStatus", (data) => {
const onTicketsStatusDashboard = (data) => {
if (data.action === "update") {
setStatus("")
setStatus(data.ticketStatus.status)
}
})
}
socket.on("onlineStatus", (data) => {
socket.on("ticketStatus", onTicketsStatusDashboard)
const onOnlineStatusDashboard = (data) => {
if (data.action === "logout" || data.action === "update") {
dispatch({ type: "UPDATE_STATUS_ONLINE", payload: data.userOnlineTime })
} else if (data.action === "delete") {
dispatch({ type: "DELETE_USER_STATUS", payload: data.userOnlineTime })
}
})
}
socket.on("user", (data) => {
socket.on("onlineStatus", onOnlineStatusDashboard)
const onUserDashboard = (data) => {
if (data.action === "delete") {
dispatch({ type: "DELETE_USER", payload: +data.userId })
}
})
}
socket.on("user", onUserDashboard)
return () => {
socket.disconnect()
socket.off("user", onUserDashboard)
socket.off("onlineStatus", onOnlineStatusDashboard)
socket.off("ticketStatus", onTicketsStatusDashboard)
}
}, [])

View File

@ -1,5 +1,6 @@
import React, { useState, useContext, useEffect, useReducer } from "react"
import openSocket from "socket.io-client"
//import openSocket from "socket.io-client"
import { socket } from "../../services/socket"
import {
Button,
@ -125,9 +126,9 @@ const Position = () => {
}, [searchParam, pageNumber])
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
socket.on("position", (data) => {
const onPositionPosition = (data) => {
if (data.action === "update" || data.action === "create") {
dispatch({ type: "UPDATE_POSITIONS", payload: data.position })
}
@ -138,10 +139,12 @@ const Position = () => {
payload: +data.positionId,
})
}
})
}
socket.on("position", onPositionPosition)
return () => {
socket.disconnect()
socket.off("position", onPositionPosition)
}
}, [])

View File

@ -1,6 +1,7 @@
import React, { useEffect, useReducer, useState, useContext } from 'react'
import openSocket from 'socket.io-client'
//import openSocket from 'socket.io-client'
import { socket } from '../../services/socket'
import {
Button,
@ -123,9 +124,9 @@ const Queues = () => {
}, [])
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
socket.on('queue', (data) => {
const onQueueQueues = (data) => {
if (data.action === 'update' || data.action === 'create') {
dispatch({ type: 'UPDATE_QUEUES', payload: data.queue })
}
@ -133,9 +134,11 @@ const Queues = () => {
if (data.action === 'delete') {
dispatch({ type: 'DELETE_QUEUE', payload: data.queueId })
}
})
}
socket.on('settings', (data) => {
socket.on('queue', onQueueQueues)
const onSettingsQueues = (data) => {
if (data.action === 'update') {
setSettings((prevState) => {
const aux = [...prevState]
@ -144,10 +147,13 @@ const Queues = () => {
return aux
})
}
})
}
socket.on('settings', onSettingsQueues)
return () => {
socket.disconnect()
socket.off("settings", onSettingsQueues)
socket.off("queue", onQueueQueues)
}
}, [])

View File

@ -1,5 +1,6 @@
import React, { useState, useContext, useEffect, useReducer } from "react"
import openSocket from "socket.io-client"
//import openSocket from "socket.io-client"
import { socket } from "../../services/socket"
import {
Button,
@ -125,9 +126,9 @@ const QuickAnswers = () => {
}, [searchParam, pageNumber])
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
socket.on("quickAnswer", (data) => {
const onQuickAnswerQuickAnswers = (data) => {
if (data.action === "update" || data.action === "create") {
dispatch({ type: "UPDATE_QUICK_ANSWERS", payload: data.quickAnswer })
}
@ -138,10 +139,11 @@ const QuickAnswers = () => {
payload: +data.quickAnswerId,
})
}
})
}
socket.on("quickAnswer", onQuickAnswerQuickAnswers)
return () => {
socket.disconnect()
socket.off("quickAnswer", onQuickAnswerQuickAnswers)
}
}, [])

View File

@ -18,7 +18,8 @@ import MaterialTable from 'material-table'
import LogoutIcon from '@material-ui/icons/CancelOutlined'
import apiBroker from "../../services/apiBroker"
import fileDownload from 'js-file-download'
import openSocket from "socket.io-client"
//import openSocket from "socket.io-client"
import { socket } from "../../services/socket"
import { i18n } from "../../translate/i18n"
import Switch from '@mui/material/Switch'
@ -591,9 +592,9 @@ const Report = () => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
socket.on("queryOnQueueStatus", (data) => {
const onQueryOnQueueStatusReport = (data) => {
if (data.action === 'update') {
if (String(data.queryOnQueue.adminId) === String(userA.id)) {
@ -604,12 +605,11 @@ const Report = () => {
}
}
})
}
if (reportOption === '2') {
socket.on("queryOnQueueStatus", onQueryOnQueueStatusReport)
socket.on("onlineStatus", (data) => {
const onOnlineStatusReport = (data) => {
let date = new Date().toLocaleDateString('pt-BR').split('/')
let dateToday = `${date[2]}-${date[1]}-${date[0]}`
@ -624,15 +624,20 @@ const Report = () => {
dispatchQ({ type: "DELETE_USER_STATUS", payload: data.userOnlineTime })
}
})
}
socket.on("user", (data) => {
const onUserReport = (data) => {
if (data.action === "delete") {
dispatch({ type: "DELETE_USER", payload: +data.userId })
}
})
}
if (reportOption === '2') {
socket.on("onlineStatus", onOnlineStatusReport)
socket.on("user", onUserReport)
}
else if (reportOption === "1") {
@ -641,7 +646,9 @@ const Report = () => {
}
return () => {
socket.disconnect()
socket.off("onlineStatus", onOnlineStatusReport)
socket.off("user", onUserReport)
socket.off("queryOnQueueStatus", onQueryOnQueueStatusReport)
}

View File

@ -28,8 +28,8 @@ import { render } from '@testing-library/react'
// import Modal from "../../../..ChatEnd/ModalChatEnd";
import Modal from "../../components/ModalUpdateScheduleReminder"
import openSocket from "socket.io-client"
//import openSocket from "socket.io-client"
import { socket } from "../../services/socket"
@ -204,11 +204,9 @@ const SchedulesReminder = () => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
socket.on("schedulingNotify", (data) => {
//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
const onSchedulingNotifySchedulesRemider = (data) => {
setLoading(true)
@ -228,10 +226,12 @@ const SchedulesReminder = () => {
setLoading(false)
})
}
socket.on("schedulingNotify", onSchedulingNotifySchedulesRemider)
return () => {
socket.disconnect()
socket.off("schedulingNotify", onSchedulingNotifySchedulesRemider)
}
}, [])

View File

@ -1,5 +1,6 @@
import React, { useState, useEffect, useContext } from 'react'
import openSocket from 'socket.io-client'
//import openSocket from 'socket.io-client'
import { socket } from '../../services/socket.js'
import { makeStyles } from '@material-ui/core/styles'
import Paper from '@material-ui/core/Paper'
@ -124,9 +125,9 @@ const Settings = () => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
socket.on('settings', (data) => {
const onSettingsSettings = (data) => {
console.log('settings updated ----------------------------')
if (data.action === 'update') {
@ -137,10 +138,12 @@ const Settings = () => {
return aux
})
}
})
}
socket.on('settings', onSettingsSettings)
return () => {
socket.disconnect()
socket.off("settings", onSettingsSettings)
}
}, [])

View File

@ -1,5 +1,6 @@
import React, { useState, useContext, useEffect, useReducer } from "react"
import openSocket from "socket.io-client"
//import openSocket from "socket.io-client"
import { socket } from "../../services/socket"
import {
Button,
@ -131,9 +132,9 @@ const StatusChatEnd = () => {
}, [searchParam, pageNumber])
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
socket.on("statusChatEnd", (data) => {
const onStatusChatEndStatusChatEnd = (data) => {
if (data.action === "update" || data.action === "create") {
dispatch({ type: "UPDATE_STATUS_CHAT_END", payload: data.statusChatEnd })
}
@ -144,10 +145,12 @@ const StatusChatEnd = () => {
payload: +data.statusChatEndId,
})
}
})
}
socket.on("statusChatEnd", onStatusChatEndStatusChatEnd)
return () => {
socket.disconnect()
socket.off("statusChatEnd", onStatusChatEndStatusChatEnd)
}
}, [])

View File

@ -1,6 +1,7 @@
import React, { useState, useEffect, useReducer, useContext } from "react"
import { toast } from "react-toastify"
import openSocket from "socket.io-client"
//import openSocket from "socket.io-client"
import { socket } from "../../services/socket"
import { makeStyles } from "@material-ui/core/styles"
import Paper from "@material-ui/core/Paper"
@ -165,9 +166,9 @@ const Users = () => {
useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
//const socket = openSocket(process.env.REACT_APP_BACKEND_URL)
socket.on("user", (data) => {
const onUserUsers = (data) => {
if (data.action === "update" || data.action === "create") {
dispatch({ type: "UPDATE_USERS", payload: data.user })
}
@ -175,10 +176,11 @@ const Users = () => {
if (data.action === "delete") {
dispatch({ type: "DELETE_USER", payload: +data.userId })
}
})
}
socket.on("user", onUserUsers)
socket.on('settings', (data) => {
const onSettingsUsers = (data) => {
if (data.action === 'update') {
setSettings((prevState) => {
const aux = [...prevState]
@ -187,10 +189,12 @@ const Users = () => {
return aux
})
}
})
}
socket.on('settings', onSettingsUsers)
return () => {
socket.disconnect()
socket.off("settings", onSettingsUsers)
socket.off("user", onUserUsers)
}
}, [])