+++ /dev/null
-
-export const authUser = (event: any, arg: any) => {
- let reply;
- reply = {
- id: "2",
- email: "hernandeze@xavier.edu",
- firstName: "Enrique",
- lastName: "Hernandez",
- access_token: "test-token"
- };
- if (arg === ['undefined']) {
- reply = new Error('AUTH-FAILED');
- }
- event.reply('auth-user-reply', reply);
-}
-
-export const authLogin = (event: any, arg: any) => {
- console.log('testing login', arg);
- event.reply('auth-login-reply', true);
-}
import { createWindow } from './createWindow';
import { ipcMain } from "electron";
-import { initSession, sendMessage} from './session';
+import { initSession, sendMessage, authUser, authLogin} from './session';
import { windowEmitter } from './windowEmitter';
-import { authUser, authLogin } from './auth';
const portAudio = require('naudiodon');
interface ipcRendererPayload {
// create main window.
const win = createWindow({ width: 350, height: 525, resizable: false });
-
windowEmitter.on('ipc-renderer', (payload: ipcRendererPayload) => {
win.webContents.send(payload.endpoint, {
message: payload.message
});
});
- const handleIpcRender = (event: any, arg: any) => {
- sendMessage(arg)
+ const handleMessage = (event: any, arg: any) => {
+ sendMessage(arg);
}
const windowMount = (): void => {
windowEmitter.emit('window-active', true);
// ipc event handlers
- ipcMain.on('send-message', handleIpcRender);
+ ipcMain.on('send-message', handleMessage);
ipcMain.on('auth-login', authLogin);
}
import WebSocket from 'ws';
import { windowEmitter } from './windowEmitter';
+type Message = {
+ type:string;
+ id: string;
+}
+
+interface RenderMessage extends Message {
+ content: string;
+ context: string;
+ subContext: string;
+ modifiers: string;
+ time: string;
+}
+
+interface AuthMessage extends Message {
+ email: string;
+ firstName: string;
+ lastName: string;
+ access_token: string;
+}
+
+interface AuthRequest {
+ token: string;
+}
+
+interface PostLogin {
+ email: string;
+ password: string;
+}
+
+interface PostMessage {
+ content: string;
+}
+
const ip = 'ws://localhost';
const port = 8080;
const username = 'hernandeze2@xavier.edu';
+let socket: WebSocket;
const receiveMessage = (message: string): void => {
// NOTE assuming message is JSON string
- const parsed = JSON.parse(message);
- windowEmitter.emit('ipc-renderer', {
- endpoint: 'render-message',
- message: parsed
- });
+ const parsed: RenderMessage | AuthMessage = JSON.parse(message);
+ if (parsed.type === "render") {
+ windowEmitter.emit('ipc-renderer', {
+ endpoint: 'render-message',
+ message: parsed
+ });
+ } else if (parsed.type === "auth") {
+ windowEmitter.emit('auth-resp', parsed);
+ }
}
-let socket: WebSocket;
-
export function initSession() {
try {
}
}
-export const sendMessage = (content: string | Buffer) => {
+export const authUser = (event: any, arg: AuthRequest) => {
+ sendMessage({
+ content: arg.token
+ });
+ windowEmitter.on('auth-resp', (payload: AuthMessage) => {
+ event.reply('auth-user-reply', payload);
+ })
+}
+
+export const authLogin = (event: any, arg: PostLogin) => {
+ sendMessage(arg)
+ windowEmitter.on('auth-resp', (payload: AuthMessage) => {
+ event.reply('auth-login-reply', payload);
+ })
+}
+
+export const sendMessage = (content: PostMessage | Buffer | PostLogin) => {
if (content instanceof Buffer) {
socket.send(content);
} else {
class WindowEmitter extends EventEmitter {}
export const windowEmitter = new WindowEmitter();
+
+const ipcRend = (endpoint: string, message: any) => {
+ win.webContents.send(endpoint, {
+ message: message
+ })
+}
state.authenticating = true;
// authenticate token against crimata-platform
- send([token]);
+ send({
+ token: token
+ });
watch([loading], () => {
if (error.value) {
error.value = arg;
throw arg;
} else {
- if (callback) {
- callback(arg);
- }
data.value = arg;
loading.value = false;
}
password: payload.password,
});
console.log(data.value, "login");
- // setUser(data.value, payload.rememberMe);
- // router.push({ name: "home" });
};
watch(loading, () => {
- console.log("loading changed");
- console.log(data.value, "post laoding");
+ setUser(data.value, payload.rememberMe);
+ router.push({ name: "home" });
});
return {