From 09693b979efe3c9c7ea64f79d97a1f0b53f7c49e Mon Sep 17 00:00:00 2001 From: Melonai Date: Sat, 8 May 2021 23:41:03 +0200 Subject: Socket connection and token fetching --- assets/src/network/socket.ts | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 assets/src/network/socket.ts (limited to 'assets/src/network') diff --git a/assets/src/network/socket.ts b/assets/src/network/socket.ts new file mode 100644 index 0000000..c056b41 --- /dev/null +++ b/assets/src/network/socket.ts @@ -0,0 +1,33 @@ +import { Socket } from "phoenix"; +import requests from "../stores/requests"; + +let socket = new Socket("/socket", {}); +socket.connect(); + +export const getToken: () => Promise = () => { + let tokenChannel = socket.channel("token", {}); + return new Promise((resolve, reject) => { + tokenChannel + .join() + .receive("ok", () => { + tokenChannel + .push("get_token", {}, 5000) + .receive("ok", ({ token }) => resolve(token)) + .receive("error", err => reject(err)) + .receive("timeout", err => reject(err)); + }) + .receive("error", err => reject(err)); + }); +}; + +export const joinShareChannel = token => { + let shareChannel = socket.channel(`share:${token}`); + + shareChannel.on("request", requests.addRequest); + + shareChannel + .join() + .receive("error", err => + console.log("failed joining share channel:" + err) + ); +}; -- cgit 1.4.1