diff --git a/src/assets/js/main.js b/src/assets/js/main.js index 46e0451..b2fb6ac 100644 --- a/src/assets/js/main.js +++ b/src/assets/js/main.js @@ -36,7 +36,7 @@ const sendRequest = (url, data) => { type: 'POST', data: data, success: function(data, textStatus, jqXHR) { - resolve({ message: 'Fichier généré' }); + resolve(data); }, error: function(jqXHR, textStatus, errorThrown) { reject( new Error('Erreur lors de la requête Ajax : ' + jqXHR.responseText) ); @@ -98,6 +98,11 @@ const initSubmitForm = () => { toastr.success(response.message); $submitBtn.prop('disabled', false); $spinner.addClass('d-none'); + if ( response.generated ) { + $form__result.removeClass('d-none'); + $form__result.find('a').attr('href', `/csv/${response.generated}`) + $form__result.find('a').html(response.generated); + } }) .catch((error) => { toastr.error(error.message); @@ -138,13 +143,6 @@ const initSocket = () => { return; } - if (eventName === 'parse.end' && data.generated) { - const $form__result = $('#form__result'); - $form__result.removeClass('d-none'); - $form__result.find('a').attr('href', `/csv/${data.generated}`) - $form__result.find('a').html(data.generated); - } - toastr.info(data.message); }); } diff --git a/src/models/file.js b/src/models/file.js index 790ef5e..96965f3 100644 --- a/src/models/file.js +++ b/src/models/file.js @@ -215,7 +215,7 @@ class File { .on('end', () => { // Emit a parse.end event with the url and filepath fileStream.close(); - resolve(this.generatedpath); + resolve(path.basename(this.generatedpath)); emitter.emit('parse.end', { url: this.url, filepath: this.filepath, count: count - 1, generated: path.basename(this.generatedpath) }); }); }); diff --git a/src/routes/index.js b/src/routes/index.js index 1b939f6..2e42e8f 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -121,9 +121,10 @@ router.post('/', function(req, res, next) { } fileService.parseFromUrl(url, columns) - .then((filepath) => { + .then((filename) => { res.send({ - success: true + generated: filename, + message: 'Fichier généré avec success' }) }) .catch(err => { diff --git a/src/services/file.js b/src/services/file.js index 5cf446f..9cb1096 100644 --- a/src/services/file.js +++ b/src/services/file.js @@ -30,9 +30,9 @@ class FileService { const filepath = await file.download(); return file.parse(columns) - .then((filepath) => { - emitter.emit('parseFromUrl.end', { url, columns, filepath }); - return filepath; + .then((filename) => { + emitter.emit('parseFromUrl.end', { url, columns, filename }); + return filename; }) .catch((err) => { emitter.emit('parseFromUrl.error', { url, columns, error: err.message });