-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsocketManager.js
52 lines (37 loc) · 1.23 KB
/
socketManager.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Socket.io
import { Server } from 'socket.io';
const configureSocket = servidor => {
const io = new Server(servidor, {
pingTimeout: 6000,
cors: {
origin: process.env.FRONTEND_URL,
},
});
io.on('connection', socket => {
console.log('Conectado a socket.io');
// Definir los eventos de socket io
// ------ Eventos de proyecto individual ------
socket.on('abrir-proyecto', proyecto => {
socket.join(proyecto);
});
socket.on('nueva-tarea', tareaAlmacenada => {
const proyectoId = tareaAlmacenada.proyecto;
socket.to(proyectoId).emit('tarea-agregada', tareaAlmacenada);
});
socket.on('completar-tarea', tareaAlmacenada => {
const proyectoId = tareaAlmacenada.proyecto._id;
socket.to(proyectoId).emit('tarea-completada', tareaAlmacenada);
});
socket.on('eliminar-tarea', tarea => {
const proyectoId = tarea.proyecto;
socket.to(proyectoId).emit('tarea-eliminada', tarea);
});
socket.on('editar-tarea', tareaActualizada => {
const proyectoId = tareaActualizada.proyecto._id;
socket.to(proyectoId).emit('tarea-actualizada', tareaActualizada);
});
});
// ------ Fin Eventos de proyecto individual ------
// ------ Eventos de proyecto global ------
};
export default configureSocket;