From 128a588c9bb88cd8cee3aa7852da74424135dd1a Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Fri, 10 Jan 2025 10:31:35 +0100 Subject: [PATCH] Replace InitMessage with HandshaleMessage --- src/services/service.ts | 19 +++++++++---------- src/websockets.ts | 4 ++-- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/services/service.ts b/src/services/service.ts index b32d33e..b13d8bc 100755 --- a/src/services/service.ts +++ b/src/services/service.ts @@ -3,7 +3,7 @@ import { INotification } from '~/models/notification.model'; import { IProcess } from '~/models/process.model'; // import Database from './database'; import { initWebsocket, sendMessage } from '../websockets'; -import { ApiReturn, Device, InitMessage, Member, Process, RoleDefinition, SecretsStore, UserDiff } from '../../pkg/sdk_client'; +import { ApiReturn, Device, HandshakeMessage, Member, Process, RoleDefinition, SecretsStore, UserDiff } from '../../pkg/sdk_client'; import ModalService from './modal.service'; import Database from './database.service'; import { storeData, retrieveData } from './storage.service'; @@ -30,6 +30,7 @@ export default class Services { private database: any; private routingInstance!: ModalService; private relayAddresses: { [wsurl: string]: string } = {}; + private membersList: Record = {}; // Private constructor to prevent direct instantiation from outside private constructor() {} @@ -898,18 +899,16 @@ export default class Services { this.device2Ready = false; } - public async handleInitMsg(url: string, parsedMsg: any) { + public async handleHandshakeMsg(url: string, parsedMsg: any) { try { - const initMsg: InitMessage = JSON.parse(parsedMsg); - this.updateRelay(url, initMsg.sp_address); - const processes: [string, Process][] = JSON.parse(initMsg.processes_list!); + const handshakeMsg: HandshakeMessage = JSON.parse(parsedMsg); + this.updateRelay(url, handshakeMsg.sp_address); + const processes = handshakeMsg.processes_list; + this.membersList = handshakeMsg.peers_list; + // Write processes to db - const record = processes.reduce((record, [outPoint, process]) => { - record[outPoint] = process; - return record; - }, {} as Record); setTimeout(async () => { - await this.restoreProcessesFromBackUp(record); + await this.restoreProcessesFromBackUp(processes); }, 500) } catch (e) { console.error('Failed to parse init message:', e); diff --git a/src/websockets.ts b/src/websockets.ts index c5e9055..f9b598b 100755 --- a/src/websockets.ts +++ b/src/websockets.ts @@ -29,8 +29,8 @@ export async function initWebsocket(url: string) { const parsedMessage = JSON.parse(msgData); const services = await Services.getInstance(); switch (parsedMessage.flag) { - case 'Init': - await services.handleInitMsg(url, parsedMessage.content); + case 'Handshake': + await services.handleHandshakeMsg(url, parsedMessage.content); break; case 'NewTx': await services.parseNewTx(parsedMessage.content);