-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsocket-front-index.js
37 lines (29 loc) · 1.24 KB
/
socket-front-index.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
import { insereLinkDocumento, removeLinkDocumento } from "./index.js";
import { buscaCookie } from "./utils/cookies.js";
/* a função middleware é executada antes da conexão do cliente, antes do
socket se conectar ao servidor. Isso significa que não conseguiremos escrever
socket.emit e enviar o tokenJwt, pois não sabemos se o socket foi realmente
estabelecido. Sendo assim, precisamos enviar essa informação antes dessa conexão
ser estabelecida. Podemos fazer isso utilizando a função io: */
const socket = io("/usuarios", { auth: { token: buscaCookie("tokenJwt") } });
// "/usuarios" = namespace
socket.on("connect_error", (error) => {
alert(error.message);
window.location.href = "/login/index.html";
});
socket.emit("get-documents", (documentos) =>
documentos.forEach((documento) => insereLinkDocumento(documento.nome))
);
socket.on("update-documents-list", (nomeDocumento) => {
insereLinkDocumento(nomeDocumento);
});
socket.on("duplicate-document", (nomeDocumento) =>
alert(`O documento ${nomeDocumento} já existe!`)
);
socket.on("delete-document", (nomeDocumento) =>
removeLinkDocumento(nomeDocumento)
);
function emiteCreateDocument(nomeDocumento) {
socket.emit("create-document", nomeDocumento);
}
export { emiteCreateDocument };