diff --git a/src/services/service.ts b/src/services/service.ts index 6a7bba2..72fc8cc 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, Member, Process, RoleDefinition, SecretsStore, UserDiff } from '../../pkg/sdk_client'; +import { ApiReturn, Device, InitMessage, 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'; @@ -800,4 +800,15 @@ export default class Services { this.device1 = false; this.device2Ready = false; } + + public async handleInitMsg(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!); + + } catch (e) { + console.error('Failed to parse init message:', parsedMsg); + } + } } diff --git a/src/websockets.ts b/src/websockets.ts index ef172ac..10abb90 100755 --- a/src/websockets.ts +++ b/src/websockets.ts @@ -30,7 +30,7 @@ export async function initWebsocket(url: string) { const services = await Services.getInstance(); switch (parsedMessage.flag) { case 'Init': - services.updateRelay(url, parsedMessage.content); + services.handleInitMsg(url, parsedMessage.content); break; case 'NewTx': await services.parseNewTx(parsedMessage.content);