Merge pull request #4752 from Art051/bugfix/4749-generate-code-error-with-binary-file-request

Bugfix/4749 generate code error with binary file request
This commit is contained in:
Art051
2025-06-27 15:05:37 +01:00
committed by GitHub
parent 6792cc26bd
commit 10e872c6ab
2 changed files with 26 additions and 7 deletions

View File

@@ -1,6 +1,15 @@
import get from 'lodash/get';
export const getAuthHeaders = (collectionRootAuth, requestAuth) => {
// Discovered edge case where code generation fails when you create a collection which has not been saved yet:
// Collection auth therefore null, and request inherits from collection, therefore it is also null
// TypeError: Cannot read properties of undefined (reading 'mode')
// at getAuthHeaders
if (!collectionRootAuth && !requestAuth) {
return [];
}
const auth = collectionRootAuth && ['inherit'].includes(requestAuth?.mode) ? collectionRootAuth : requestAuth;
switch (auth.mode) {

View File

@@ -93,15 +93,25 @@ const createPostData = (body, type) => {
...(param.type === 'file' && { fileName: param.value })
}))
};
case 'file':
case 'file': {
const files = Array.isArray(body[body.mode]) ? body[body.mode] : [];
const selectedFile = files.find((param) => param.selected) || files[0];
const filePath = selectedFile?.filePath || '';
return {
mimeType: body[body.mode].filter((param) => param.enabled)[0].contentType,
params: body[body.mode]
.filter((param) => param.selected)
.map((param) => ({
value: param.filePath,
}))
mimeType: selectedFile?.contentType || 'application/octet-stream',
text: filePath,
params: filePath
? [
{
name: selectedFile?.name || 'file',
value: filePath,
fileName: filePath,
contentType: selectedFile?.contentType || 'application/octet-stream'
}
]
: []
};
}
default:
return {
mimeType: contentType,