From 3d82038ec32d5f5903eb6955d107bb43d93cc493 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Mon, 22 Apr 2019 22:04:52 +0200 Subject: [PATCH] fix(core): update --- ts/smartuniverse.classes.clientuniverse.ts | 11 ++++++++++- ts/smartuniverse.classes.clientuniversechannel.ts | 11 ++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ts/smartuniverse.classes.clientuniverse.ts b/ts/smartuniverse.classes.clientuniverse.ts index e24b442..2b72ad6 100644 --- a/ts/smartuniverse.classes.clientuniverse.ts +++ b/ts/smartuniverse.classes.clientuniverse.ts @@ -36,6 +36,12 @@ export class ClientUniverse { * TODO: verify channel before adding it to the channel cache */ public async addChannel (channelNameArg: string, passphraseArg: string) { + const existingChannel = this.getChannel(channelNameArg); + + if (existingChannel) { + throw new Error('channel exists'); + } + const clientUniverseChannel = await ClientUniverseChannel.createClientUniverseChannel( this, channelNameArg, @@ -49,8 +55,11 @@ export class ClientUniverse { * @param channelName * @param passphraseArg */ - public async getChannel(channelName: string, passphraseArg?: string): Promise { + public async getChannel(channelName: string): Promise { await this.checkConnection(); + const clientUniverseChannel = this.channelCache.find(channel => { + return channel.name === channelName; + }) return clientUniverseChannel; } diff --git a/ts/smartuniverse.classes.clientuniversechannel.ts b/ts/smartuniverse.classes.clientuniversechannel.ts index 8c344b6..446c57b 100644 --- a/ts/smartuniverse.classes.clientuniversechannel.ts +++ b/ts/smartuniverse.classes.clientuniversechannel.ts @@ -21,11 +21,16 @@ export class ClientUniverseChannel implements interfaces.IUniverseChannel { // INSTANCE // ======== - public clientUniverse: ClientUniverse; + // properties + public name: string; public passphrase: string; - - constructor(clientUniverseArg: ClientUniverse, passphraseArg: string) { + + // refs + public clientUniverse: ClientUniverse; + + constructor(clientUniverseArg: ClientUniverse, nameArg: string, passphraseArg: string) { this.clientUniverse = clientUniverseArg; + this.name = nameArg; this.passphrase = passphraseArg; }