Skip to content
6 changes: 6 additions & 0 deletions harvester-app/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,12 @@ typings/
# Vite
.vite/

# Certificados
cert/
*.pfx
*.p12
cert-base64.txt

# Electron-Forge
out/

Expand Down
8 changes: 7 additions & 1 deletion harvester-app/forge.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
27 changes: 15 additions & 12 deletions harvester-app/src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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) => {
Expand Down
Loading