From cb80e4dc2ee3503d36d47c4c01cd75e752b737b5 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Mon, 10 Jun 2019 17:46:06 +0200 Subject: [PATCH] fix(core): update --- ts/smartuniverse.classes.universe.ts | 5 ++-- ...martuniverse.classes.universeconnection.ts | 3 ++- ...verse.classes.universeconnectionmanager.ts | 25 ++++++++++++++++--- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/ts/smartuniverse.classes.universe.ts b/ts/smartuniverse.classes.universe.ts index 8fea061..d752a67 100644 --- a/ts/smartuniverse.classes.universe.ts +++ b/ts/smartuniverse.classes.universe.ts @@ -100,9 +100,10 @@ export class Universe { (() => { // TODO: properly add the connection const universeConnection = new UniverseConnection({ - authenticationRequest: + socketConnection: socketConnectionArg, + authenticationRequests: [] }) - this.universeConnectionManager.addConnection(); + this.universeConnectionManager.addConnection(universeConnection); })(); } }); diff --git a/ts/smartuniverse.classes.universeconnection.ts b/ts/smartuniverse.classes.universeconnection.ts index f4e8a49..1e40451 100644 --- a/ts/smartuniverse.classes.universeconnection.ts +++ b/ts/smartuniverse.classes.universeconnection.ts @@ -29,6 +29,7 @@ export class UniverseConnection { socketConnection: plugins.smartsocket.SocketConnection; authenticationRequests }) { - this.socketConnection, + // TODO: check if this is correct + this.socketConnection.socket.disconnect(); } } diff --git a/ts/smartuniverse.classes.universeconnectionmanager.ts b/ts/smartuniverse.classes.universeconnectionmanager.ts index 3314895..0f1d678 100644 --- a/ts/smartuniverse.classes.universeconnectionmanager.ts +++ b/ts/smartuniverse.classes.universeconnectionmanager.ts @@ -10,20 +10,39 @@ export class UniverseConnectionManager { public async addConnection(universeConnectionArg: UniverseConnection) { let universeConnection = universeConnectionArg; universeConnection = await this.deduplicateUniverseConnection(universeConnection); - universeConnection = this.authenticateAuthenticationRequests(); + universeConnection = await this.authenticateAuthenticationRequests(universeConnection); } /** * deduplicates UniverseConnections */ - public deduplicateUniverseConnection (universeConnectionArg: UniverseConnection): Promise { + public async deduplicateUniverseConnection (universeConnectionArg: UniverseConnection): Promise { + let connectionToReturn: UniverseConnection; + this.connectionMap.forEach(async existingConnection => { + if (existingConnection.socketConnection = universeConnectionArg.socketConnection) { + connectionToReturn = await this.mergeUniverseConnections(existingConnection, universeConnectionArg); + } + }); + if (!connectionToReturn) { + connectionToReturn = universeConnectionArg; + } + return connectionToReturn; } /** * authenticate AuthenticationRequests */ - public authenticateAuthenticationRequests(universeConnectionArg) { + public authenticateAuthenticationRequests(universeConnectionArg): Promise { + // TODO: authenticate connections + return universeConnectionArg; + } + /** + * merges two UniverseConnections + */ + public mergeUniverseConnections (connectionArg1: UniverseConnection, connectionArg2: UniverseConnection) { + // TODO: merge connections + return connectionArg1; } }