add user-auth and init-session events

This commit is contained in:
riqo 2021-05-25 09:01:28 -05:00
commit ea3fc85371
8 changed files with 174 additions and 77 deletions

34
src/modules/auth.ts Normal file
View file

@ -0,0 +1,34 @@
import { ref, Ref} from "vue";
interface UserState {
email: string | null;
password?: string;
key: string | null;
}
const user:Ref<UserState> = ref({
email: null,
key: "testing"
});
const CRIMATA_KEY = "CRIMATA_KEY";
const raw = window.localStorage.getItem(CRIMATA_KEY);
if (raw) {
user.value = JSON.parse(raw);
}
export const useAuth = () => {
const setUser = (token: UserState) => {
window.localStorage.setItem(CRIMATA_KEY, JSON.stringify(token));
user.value = token;
}
return {
setUser,
user
}
}

View file

@ -1,72 +0,0 @@
"use strict";
import WebSocket from 'ws';
import { ipcMain } from "electron";
let socket: WebSocket;
// Run every time we want to connect to backend.
export default function useWebSockets(receiveCallback: (s: string) => any, openCallback: () => any) {
// Returns bool (sucess or fail).
const sendMessage = (data: any) => {
console.log("WS:Sending message: ", data)
if (socket.readyState !== 1) {
return false
}
else {
socket.send(JSON.stringify(data))
return true
}
}
const onOpen = (event: WebSocket.OpenEvent) => {
console.log("WS:Connected to WS Server!");
openCallback()
}
const onServerMessage = (event: WebSocket.MessageEvent) => {
console.log("WS:Message received: ", event.data);
receiveCallback(event.data.toString())
}
const onClose = (event: WebSocket.CloseEvent) => {
console.log("WS:Socket closed normally.")
}
// Reconnect automatically on error.
const onError = (event: WebSocket.ErrorEvent) => {
console.log("WS:WebSocket error: ", event.message);
console.log("Attempting reconnect in 1s.")
setTimeout(createSocket, 1000)
}
const createSocket = () => {
socket = new WebSocket(`ws://127.0.0.1:8760`)
// Add listeners.
socket.addEventListener("open", onOpen)
socket.addEventListener("message", onServerMessage)
socket.addEventListener("close", onClose)
socket.addEventListener("error", onError)
console.log("WS:New socket created.")
}
return {
createSocket,
sendMessage
}
}