import { ipcMain } from "electron"; import * as fs from 'fs'; import * as path from 'path'; import os from 'os'; ipcMain.handle('clear-keys', async (event, userId) => { try { let baseDir; if (process.platform === 'win32') { baseDir = path.join(os.homedir(), 'AppData', 'Roaming', 'ultima'); } else if (process.platform === 'linux') { baseDir = path.join(os.homedir(), '.ultima'); } else if (process.platform === 'darwin') { baseDir = path.join(os.homedir(), 'Library', 'Application Support', 'Ultima'); } const sessionsDir = path.join(baseDir, 'Sessions'); if (userId === 'all') { if (fs.existsSync(sessionsDir)) { fs.readdirSync(sessionsDir).forEach((file) => { const curPath = path.join(sessionsDir, file); if (fs.lstatSync(curPath).isDirectory()) { fs.rmdirSync(curPath, { recursive: true }); } }); } } else { const userDir = path.join(sessionsDir, userId); if (fs.existsSync(userDir)) { fs.rmdirSync(userDir, { recursive: true }); } } } catch (error) { console.error('Error clearing keys:', error); throw error; } });