summaryrefslogtreecommitdiffstats
path: root/server/socket-handlers/remote-browser-socket-handler.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/socket-handlers/remote-browser-socket-handler.js')
-rw-r--r--server/socket-handlers/remote-browser-socket-handler.js82
1 files changed, 82 insertions, 0 deletions
diff --git a/server/socket-handlers/remote-browser-socket-handler.js b/server/socket-handlers/remote-browser-socket-handler.js
new file mode 100644
index 0000000..ae53030
--- /dev/null
+++ b/server/socket-handlers/remote-browser-socket-handler.js
@@ -0,0 +1,82 @@
+const { sendRemoteBrowserList } = require("../client");
+const { checkLogin } = require("../util-server");
+const { RemoteBrowser } = require("../remote-browser");
+
+const { log } = require("../../src/util");
+const { testRemoteBrowser } = require("../monitor-types/real-browser-monitor-type");
+
+/**
+ * Handlers for docker hosts
+ * @param {Socket} socket Socket.io instance
+ * @returns {void}
+ */
+module.exports.remoteBrowserSocketHandler = (socket) => {
+ socket.on("addRemoteBrowser", async (remoteBrowser, remoteBrowserID, callback) => {
+ try {
+ checkLogin(socket);
+
+ let remoteBrowserBean = await RemoteBrowser.save(remoteBrowser, remoteBrowserID, socket.userID);
+ await sendRemoteBrowserList(socket);
+
+ callback({
+ ok: true,
+ msg: "Saved.",
+ msgi18n: true,
+ id: remoteBrowserBean.id,
+ });
+
+ } catch (e) {
+ callback({
+ ok: false,
+ msg: e.message,
+ });
+ }
+ });
+
+ socket.on("deleteRemoteBrowser", async (dockerHostID, callback) => {
+ try {
+ checkLogin(socket);
+
+ await RemoteBrowser.delete(dockerHostID, socket.userID);
+ await sendRemoteBrowserList(socket);
+
+ callback({
+ ok: true,
+ msg: "successDeleted",
+ msgi18n: true,
+ });
+
+ } catch (e) {
+ callback({
+ ok: false,
+ msg: e.message,
+ });
+ }
+ });
+
+ socket.on("testRemoteBrowser", async (remoteBrowser, callback) => {
+ try {
+ checkLogin(socket);
+ let check = await testRemoteBrowser(remoteBrowser.url);
+ log.info("remoteBrowser", "Tested remote browser: " + check);
+ let msg;
+
+ if (check) {
+ msg = "Connected Successfully.";
+ }
+
+ callback({
+ ok: true,
+ msg,
+ });
+
+ } catch (e) {
+ log.error("remoteBrowser", e);
+
+ callback({
+ ok: false,
+ msg: e.message,
+ });
+ }
+ });
+};