From 04b7c1db4e6d6a88341180ba849a2fe4996356c6 Mon Sep 17 00:00:00 2001 From: Michiel Vugteveen Date: Thu, 2 Apr 2020 12:30:03 +0200 Subject: [PATCH 1/3] add pusher private-encrypted #263 --- src/channel/index.ts | 1 + src/channel/pusher-private-encrypted-channel.ts | 15 +++++++++++++++ src/connector/pusher-connector.ts | 13 ++++++++++++- src/echo.ts | 7 +++++++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 src/channel/pusher-private-encrypted-channel.ts diff --git a/src/channel/index.ts b/src/channel/index.ts index 7bae7b8a..ea0c4c07 100644 --- a/src/channel/index.ts +++ b/src/channel/index.ts @@ -2,6 +2,7 @@ export * from './channel'; export * from './presence-channel'; export * from './pusher-channel'; export * from './pusher-private-channel'; +export * from './pusher-private-encrypted-channel'; export * from './pusher-presence-channel'; export * from './socketio-channel'; export * from './socketio-private-channel'; diff --git a/src/channel/pusher-private-encrypted-channel.ts b/src/channel/pusher-private-encrypted-channel.ts new file mode 100644 index 00000000..63fb3305 --- /dev/null +++ b/src/channel/pusher-private-encrypted-channel.ts @@ -0,0 +1,15 @@ +import { PusherChannel } from './pusher-channel'; + +/** + * This class represents a Pusher private channel. + */ +export class PusherPrivateEncryptedChannel extends PusherChannel { + /** + * Trigger client event on the channel. + */ + whisper(eventName: string, data: any): PusherPrivateEncryptedChannel { + this.pusher.channels.channels[this.name].trigger(`client-${eventName}`, data); + + return this; + } +} diff --git a/src/connector/pusher-connector.ts b/src/connector/pusher-connector.ts index c772804f..c0954f30 100644 --- a/src/connector/pusher-connector.ts +++ b/src/connector/pusher-connector.ts @@ -1,5 +1,5 @@ import { Connector } from './connector'; -import { PusherChannel, PusherPrivateChannel, PusherPresenceChannel, PresenceChannel } from './../channel'; +import { PusherChannel, PusherPrivateChannel, PusherPrivateEncryptedChannel, PusherPresenceChannel, PresenceChannel } from './../channel'; /** * This class creates a connector to Pusher. @@ -55,6 +55,17 @@ export class PusherConnector extends Connector { return this.channels['private-' + name]; } + /** + * Get a private encrypted channel instance by name. + */ + privateEncryptedChannel(name: string): PusherChannel { + if (!this.channels['private-encrypted-' + name]) { + this.channels['private-encrypted-' + name] = new PusherPrivateEncryptedChannel(this.pusher, 'private-encrypted-' + name, this.options); + } + + return this.channels['private-encrypted-' + name]; + } + /** * Get a presence channel instance by name. */ diff --git a/src/echo.ts b/src/echo.ts index 8890a0ff..87ede5c0 100644 --- a/src/echo.ts +++ b/src/echo.ts @@ -91,6 +91,13 @@ export default class Echo { return this.connector.privateChannel(channel); } + /** + * Get a private encrypted channel instance by name. + */ + privateEncrypted(channel: string): Channel { + return this.connector.privateEncryptedChannel(channel); + } + /** * Get the Socket ID for the connection. */ From 72dbefb7db1c8546847e29e972b21442d4aca618 Mon Sep 17 00:00:00 2001 From: Michiel Vugteveen Date: Thu, 2 Apr 2020 12:37:57 +0200 Subject: [PATCH 2/3] fix styleci issue --- src/connector/pusher-connector.ts | 14 ++++++++++++-- src/echo.ts | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/connector/pusher-connector.ts b/src/connector/pusher-connector.ts index c0954f30..b8e62c5d 100644 --- a/src/connector/pusher-connector.ts +++ b/src/connector/pusher-connector.ts @@ -1,5 +1,11 @@ import { Connector } from './connector'; -import { PusherChannel, PusherPrivateChannel, PusherPrivateEncryptedChannel, PusherPresenceChannel, PresenceChannel } from './../channel'; +import { + PusherChannel, + PusherPrivateChannel, + PusherPrivateEncryptedChannel, + PusherPresenceChannel, + PresenceChannel, +} from './../channel'; /** * This class creates a connector to Pusher. @@ -60,7 +66,11 @@ export class PusherConnector extends Connector { */ privateEncryptedChannel(name: string): PusherChannel { if (!this.channels['private-encrypted-' + name]) { - this.channels['private-encrypted-' + name] = new PusherPrivateEncryptedChannel(this.pusher, 'private-encrypted-' + name, this.options); + this.channels['private-encrypted-' + name] = new PusherPrivateEncryptedChannel( + this.pusher, + 'private-encrypted-' + name, + this.options + ); } return this.channels['private-encrypted-' + name]; diff --git a/src/echo.ts b/src/echo.ts index 87ede5c0..77b147c6 100644 --- a/src/echo.ts +++ b/src/echo.ts @@ -140,7 +140,7 @@ export default class Echo { * Register an Axios HTTP interceptor to add the X-Socket-ID header. */ registerAxiosRequestInterceptor(): any { - axios.interceptors.request.use(config => { + axios.interceptors.request.use((config) => { if (this.socketId()) { config.headers['X-Socket-Id'] = this.socketId(); } From 1aea3fe817b4379fb3707104916e3027675666d4 Mon Sep 17 00:00:00 2001 From: Michiel Vugteveen Date: Thu, 2 Apr 2020 17:25:39 +0200 Subject: [PATCH 3/3] rename to encryptedPrivate --- src/channel/index.ts | 2 +- ...ypted-channel.ts => pusher-encrypted-private-channel.ts} | 4 ++-- src/connector/pusher-connector.ts | 6 +++--- src/echo.ts | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) rename src/channel/{pusher-private-encrypted-channel.ts => pusher-encrypted-private-channel.ts} (67%) diff --git a/src/channel/index.ts b/src/channel/index.ts index ea0c4c07..2e719848 100644 --- a/src/channel/index.ts +++ b/src/channel/index.ts @@ -2,7 +2,7 @@ export * from './channel'; export * from './presence-channel'; export * from './pusher-channel'; export * from './pusher-private-channel'; -export * from './pusher-private-encrypted-channel'; +export * from './pusher-encrypted-private-channel'; export * from './pusher-presence-channel'; export * from './socketio-channel'; export * from './socketio-private-channel'; diff --git a/src/channel/pusher-private-encrypted-channel.ts b/src/channel/pusher-encrypted-private-channel.ts similarity index 67% rename from src/channel/pusher-private-encrypted-channel.ts rename to src/channel/pusher-encrypted-private-channel.ts index 63fb3305..23f303f2 100644 --- a/src/channel/pusher-private-encrypted-channel.ts +++ b/src/channel/pusher-encrypted-private-channel.ts @@ -3,11 +3,11 @@ import { PusherChannel } from './pusher-channel'; /** * This class represents a Pusher private channel. */ -export class PusherPrivateEncryptedChannel extends PusherChannel { +export class PusherEncryptedPrivateChannel extends PusherChannel { /** * Trigger client event on the channel. */ - whisper(eventName: string, data: any): PusherPrivateEncryptedChannel { + whisper(eventName: string, data: any): PusherEncryptedPrivateChannel { this.pusher.channels.channels[this.name].trigger(`client-${eventName}`, data); return this; diff --git a/src/connector/pusher-connector.ts b/src/connector/pusher-connector.ts index b8e62c5d..bdc931ab 100644 --- a/src/connector/pusher-connector.ts +++ b/src/connector/pusher-connector.ts @@ -2,7 +2,7 @@ import { Connector } from './connector'; import { PusherChannel, PusherPrivateChannel, - PusherPrivateEncryptedChannel, + PusherEncryptedPrivateChannel, PusherPresenceChannel, PresenceChannel, } from './../channel'; @@ -64,9 +64,9 @@ export class PusherConnector extends Connector { /** * Get a private encrypted channel instance by name. */ - privateEncryptedChannel(name: string): PusherChannel { + encryptedPrivateChannel(name: string): PusherChannel { if (!this.channels['private-encrypted-' + name]) { - this.channels['private-encrypted-' + name] = new PusherPrivateEncryptedChannel( + this.channels['private-encrypted-' + name] = new PusherEncryptedPrivateChannel( this.pusher, 'private-encrypted-' + name, this.options diff --git a/src/echo.ts b/src/echo.ts index 77b147c6..0f9d2bff 100644 --- a/src/echo.ts +++ b/src/echo.ts @@ -94,8 +94,8 @@ export default class Echo { /** * Get a private encrypted channel instance by name. */ - privateEncrypted(channel: string): Channel { - return this.connector.privateEncryptedChannel(channel); + encryptedPrivate(channel: string): Channel { + return this.connector.encryptedPrivateChannel(channel); } /**