From 4fabe0d8b3e56a0fbc02214fea30e01eda559938 Mon Sep 17 00:00:00 2001
From: Marius Friess <34072851+mariusfriess@users.noreply.github.com>
Date: Wed, 16 Aug 2023 13:59:06 +0200
Subject: [PATCH] Close browser when websocket event is recieved (#55)

* Listen for close browser websocket event

* Add doc
---
 src/channel/browser.gateway.ts | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/src/channel/browser.gateway.ts b/src/channel/browser.gateway.ts
index 61a0ee1..93754fc 100644
--- a/src/channel/browser.gateway.ts
+++ b/src/channel/browser.gateway.ts
@@ -65,6 +65,23 @@ export class BrowserGateway {
     return true;
   }
 
+  /**
+   * Handles the "close-browser" event, allowing a client to close the browser.
+   *
+   * @param client - The connected socket client.
+   * @returns A boolean indicating the success of closing the browser.
+   */
+  @SubscribeMessage('close-browser')
+  @UseRequestContext()
+  public async closeBrowser(@ConnectedSocket() client: Socket) {
+    const channel = await this.channels.fromClientOrFail(client);
+
+    await this.browserService.closeBrowserContext(channel.id);
+    this.server.to(channel.id).emit('close-browser');
+
+    return true;
+  }
+
   /**
    * Handles the "move-mouse" event, allowing a client to move the mouse in the browser.
    *
-- 
GitLab