diff --git a/harvester-app/.gitignore b/harvester-app/.gitignore index a9d7914c..6439297e 100644 --- a/harvester-app/.gitignore +++ b/harvester-app/.gitignore @@ -88,6 +88,12 @@ typings/ # Vite .vite/ +# Certificados +cert/ +*.pfx +*.p12 +cert-base64.txt + # Electron-Forge out/ diff --git a/harvester-app/forge.config.js b/harvester-app/forge.config.js index 82938ba3..635f0152 100644 --- a/harvester-app/forge.config.js +++ b/harvester-app/forge.config.js @@ -10,7 +10,13 @@ module.exports = { makers: [ { name: '@electron-forge/maker-squirrel', - config: {}, + config: { + name: 'Harvester', + authors: 'Code&Co - TracTech', + exe: 'Harvester.exe', + certificateFile: './cert/certificado.pfx', + certificatePassword: 'Harvester123', + }, }, { name: '@electron-forge/maker-zip', diff --git a/harvester-app/src/main.js b/harvester-app/src/main.js index 08e6cf59..48e8c1f8 100644 --- a/harvester-app/src/main.js +++ b/harvester-app/src/main.js @@ -5,6 +5,7 @@ const {precargarEJS} = require('./framework/utils/scripts/middleware/precargarEJ const { verificarEstado } = require('./backend/servicios/verificarEstado'); const { obtenerID } = require('./backend/servicios/generadorID'); const { PERMISOS } = require('./framework/utils/scripts/middleware/auth'); +const os = require('os'); const INTERVALOTIEMPO = 120000; // 2 minutos en milisegundos @@ -200,20 +201,22 @@ app.on('window-all-closed', () => { }); // Manejar la apertura del diálogo de selección de archivos cuando se descarga un pdf -ipcMain.on('guardar-pdf', async (evento, bufer) => { - const resultado = await dialog.showSaveDialog(mainWindow, { - title: 'Guardar PDF', - defaultPath: 'reporte.pdf', - filters: [ - { name: 'PDF', extensions: ['pdf'] } - ] +ipcMain.on('guardar-pdf', async (event, buffer) => { + const { canceled, filePath } = await dialog.showSaveDialog({ + title: 'Guardar reporte PDF', + defaultPath: path.join(os.homedir(), 'Downloads', 'reporte.pdf'), + filters: [{ name: 'PDF', extensions: ['pdf'] }] }); - - if (!resultado.canceled) { - fs.writeFileSync(resultado.filePath, bufer); + if (canceled) { + event.reply('pdf-guardado', false); + return; + } + try { + fs.writeFileSync(filePath, buffer); + event.reply('pdf-guardado', true); + } catch { + event.reply('pdf-guardado', false); // <-- Elimina 'error' del catch } - - evento.sender.send('pdf-guardado', !resultado.canceled); }); ipcMain.handle('precargar-ejs', async (event, rutaEJS, parametros) => {