From a3e3ccf68983d0b37556304ff635fee958e5fe8c Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 28 Sep 2021 16:29:00 +0200 Subject: [PATCH 1/2] @uppy/transloadit: pass fields to transloadit Co-authored-by: Merlijn Vos Fixes: https://github.com/transloadit/uppy/issues/3189 --- .../@uppy/transloadit/src/AssemblyOptions.js | 11 ++++++---- test/endtoend/transloadit2/main.js | 20 ++++++++----------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/packages/@uppy/transloadit/src/AssemblyOptions.js b/packages/@uppy/transloadit/src/AssemblyOptions.js index e7358bef8d..34b270f32c 100644 --- a/packages/@uppy/transloadit/src/AssemblyOptions.js +++ b/packages/@uppy/transloadit/src/AssemblyOptions.js @@ -29,10 +29,13 @@ function validateParams (params) { * compatible object. */ function normalizeAssemblyOptions (file, assemblyOptions) { - // eslint-disable-next-line no-param-reassign - assemblyOptions.fields = Array.isArray(assemblyOptions.fields) - ? Object.fromEntries(assemblyOptions.fields.map((fieldName) => [fieldName, file.meta[fieldName]])) - : {} + if (Array.isArray(assemblyOptions.fields)) { + // eslint-disable-next-line no-param-reassign + assemblyOptions.fields = Object.fromEntries(assemblyOptions.fields.map((fieldName) => [fieldName, file.meta[fieldName]])) + } else if (assemblyOptions.fields == null) { + // eslint-disable-next-line no-param-reassign + assemblyOptions.fields = {} + } return assemblyOptions } diff --git a/test/endtoend/transloadit2/main.js b/test/endtoend/transloadit2/main.js index 48986ad68a..969058714e 100644 --- a/test/endtoend/transloadit2/main.js +++ b/test/endtoend/transloadit2/main.js @@ -33,24 +33,20 @@ function initUppyTransloadit (transloaditKey) { auth: { key: transloaditKey }, template_id: 'uppyTransloadit', }, + fields: { + message: 'test', + }, } }, waitForEncoding: true, }) - uppyTransloadit.on('transloadit:result', (stepName, result) => { + uppyTransloadit.on('transloadit:result', (_, __, assembly) => { // use transloadit encoding result here. - console.log('Result here ====>', stepName, result) - console.log('Cropped image url is here ====>', result.url) - - const img = new Image() - img.onload = function onload () { - const result = document.createElement('div') - result.setAttribute('id', 'uppy-result') - result.textContent = 'ok' - document.body.appendChild(result) - } - img.src = result.url + const result = document.createElement('div') + result.setAttribute('id', 'uppy-result') + result.textContent = assembly.fields.message === 'test' ? 'ok' : 'fail' + document.body.appendChild(result) }) } From 33a2d4282bfaab681d7868080adf3a4bcd5f5c6d Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 5 Oct 2021 10:45:49 +0200 Subject: [PATCH 2/2] inline `ormalizeAssemblyOptions` --- .../@uppy/transloadit/src/AssemblyOptions.js | 24 ++++++------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/packages/@uppy/transloadit/src/AssemblyOptions.js b/packages/@uppy/transloadit/src/AssemblyOptions.js index 34b270f32c..a9ae2803ee 100644 --- a/packages/@uppy/transloadit/src/AssemblyOptions.js +++ b/packages/@uppy/transloadit/src/AssemblyOptions.js @@ -24,22 +24,6 @@ function validateParams (params) { } } -/** - * Normalize Uppy-specific Assembly option features to a Transloadit- - * compatible object. - */ -function normalizeAssemblyOptions (file, assemblyOptions) { - if (Array.isArray(assemblyOptions.fields)) { - // eslint-disable-next-line no-param-reassign - assemblyOptions.fields = Object.fromEntries(assemblyOptions.fields.map((fieldName) => [fieldName, file.meta[fieldName]])) - } else if (assemblyOptions.fields == null) { - // eslint-disable-next-line no-param-reassign - assemblyOptions.fields = {} - } - - return assemblyOptions -} - /** * Combine Assemblies with the same options into a single Assembly for all the * relevant files. @@ -81,9 +65,15 @@ class AssemblyOptions { const options = this.opts const assemblyOptions = await options.getAssemblyOptions(file, options) + if (Array.isArray(assemblyOptions.fields)) { + assemblyOptions.fields = Object.fromEntries( + assemblyOptions.fields.map((fieldName) => [fieldName, file.meta[fieldName]]) + ) + } else if (assemblyOptions.fields == null) { + assemblyOptions.fields = {} + } validateParams(assemblyOptions.params) - normalizeAssemblyOptions(file, assemblyOptions) return { fileIDs: [file.id],