From a0344ea49131208d2ca214d085624caa2120f5ff Mon Sep 17 00:00:00 2001 From: ChristoferMendes Date: Fri, 10 May 2024 11:43:36 -0300 Subject: [PATCH] feat(events): Add new event for getting magnet data --- src/main/events/index.ts | 1 + src/main/events/repacks/magnet-data.ts | 10 ++++++++++ src/preload/index.d.ts | 1 + src/preload/index.ts | 1 + 4 files changed, 13 insertions(+) create mode 100644 src/main/events/repacks/magnet-data.ts diff --git a/src/main/events/index.ts b/src/main/events/index.ts index 822cb9d5..406c4140 100644 --- a/src/main/events/index.ts +++ b/src/main/events/index.ts @@ -27,6 +27,7 @@ import "./torrenting/start-game-download"; import "./user-preferences/get-user-preferences"; import "./user-preferences/update-user-preferences"; import "./user-preferences/auto-launch"; +import "./repacks/magnet-data" ipcMain.handle("ping", () => "pong"); ipcMain.handle("getVersion", () => app.getVersion()); diff --git a/src/main/events/repacks/magnet-data.ts b/src/main/events/repacks/magnet-data.ts new file mode 100644 index 00000000..23c86294 --- /dev/null +++ b/src/main/events/repacks/magnet-data.ts @@ -0,0 +1,10 @@ +import { openWebTorrent } from "@main/services/open-web-torrent" +import { registerEvent } from "../register-event" + +const getMagnetData = async (_event: Electron.IpcMainInvokeEvent, magnet: string) => { + return openWebTorrent.getSeedersAndPeers(magnet) +} + +registerEvent(getMagnetData, { + name: 'getMagnetData' +}) diff --git a/src/preload/index.d.ts b/src/preload/index.d.ts index 51163f1a..94d93e6e 100644 --- a/src/preload/index.d.ts +++ b/src/preload/index.d.ts @@ -102,4 +102,5 @@ contextBridge.exposeInMainWorld("electron", { showOpenDialog: (options: Electron.OpenDialogOptions) => ipcRenderer.invoke("showOpenDialog", options), platform: process.platform, + getMagnetData: (magnet: string) => ipcRenderer.invoke("getMagnetData", magnet), }); diff --git a/src/preload/index.ts b/src/preload/index.ts index 7d5eb7fe..24b1cd54 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -112,4 +112,5 @@ contextBridge.exposeInMainWorld("electron", { showOpenDialog: (options: Electron.OpenDialogOptions) => ipcRenderer.invoke("showOpenDialog", options), platform: process.platform, + getMagnetData: (magnet: string) => ipcRenderer.invoke("getMagnetData", magnet), });