diff --git a/src/main/ipcs/bs-download-ipcs.ts b/src/main/ipcs/bs-download-ipcs.ts index dc83a045..79cc9737 100644 --- a/src/main/ipcs/bs-download-ipcs.ts +++ b/src/main/ipcs/bs-download-ipcs.ts @@ -2,6 +2,7 @@ import { ipcMain } from 'electron'; import path from 'path'; import { ChildProcessWithoutNullStreams, spawn } from 'child_process'; import { UtilsService } from '../services/utils.service'; +import { BSVersion } from 'main/services/bs-version-manager.service'; export interface InitDownloadInfoInterface { @@ -14,11 +15,19 @@ export interface InitDownloadInfoInterface { stay: boolean } +export interface DownloadInfo { + bsVersion: BSVersion, + username: string, + password?: string, + stay?: boolean +} + const DEPOT_DOWNLOADER_EXE = 'DepotDownloader.exe'; let PROCESS: ChildProcessWithoutNullStreams; -ipcMain.on('bs-download.start', async (event, args: InitDownloadInfoInterface) => { +ipcMain.on('bs-download.start', async (event, args: DownloadInfo) => { + console.log(args); return; const DEPOT_DOWNLOADER_PATH = path.join(UtilsService.getInstance().getAssetsPath(), 'depot-downloader', DEPOT_DOWNLOADER_EXE); console.log(UtilsService.getInstance().getAssetsPath()); console.log(DEPOT_DOWNLOADER_PATH); @@ -32,7 +41,7 @@ ipcMain.on('bs-download.start', async (event, args: InitDownloadInfoInterface) = console.log(out); if(out[0] === "[Progress]"){ event.reply('bs-download.progress', out[1]); } - else if(out[0] === "[Password]"){ event.reply('bs-download.ask-password'); } + else if(out[0] === "[Password]"){ event.reply('bs-download.not-connected', args.bsVersion); PROCESS.kill(); } else if(out[0] === "[2FA]"){ event.reply('bs-download.ask-2fa'); } else if(out[0] === "[Guard]"){ event.reply('bs-download.ask-guard'); } else if(out[0] === "[Error]"){ event.reply('bs-download.error', out); } @@ -42,6 +51,6 @@ ipcMain.on('bs-download.start', async (event, args: InitDownloadInfoInterface) = PROCESS.stderr.on('data', (data) => {console.log(data.toString())}); }); -ipcMain.on('bs-download.send-input', async (event, value: string) => { +ipcMain.on('bs-download.enter-password', async (event, value: string) => { if(PROCESS){ PROCESS.stdin.write(`${value}\n`); } });