fix(chatwoot): when possible use the original file extension

In some cases mimeTypes.extension() return false to csv and other file types
This commit is contained in:
jaison-x 2023-12-29 14:52:16 -03:00
parent 49aa1ea17c
commit fcd8815fca

View File

@ -1561,20 +1561,21 @@ export class ChatwootService {
}, },
}); });
let prependFilename: string; let nameFile: string;
if ( const messageBody = body?.message[body?.messageType];
body?.message[body?.messageType]?.fileName || const originalFilename = messageBody?.fileName || messageBody?.message?.documentMessage?.fileName;
body?.message[body?.messageType]?.message?.documentMessage?.fileName if (originalFilename) {
) { const parsedFile = path.parse(originalFilename);
prependFilename = path.parse( if (parsedFile.name && parsedFile.ext) {
body?.message[body?.messageType]?.fileName || nameFile = `${parsedFile.name}-${Math.floor(Math.random() * (99 - 10 + 1) + 10)}${parsedFile.ext}`;
body?.message[body?.messageType]?.message?.documentMessage?.fileName, }
).name; }
prependFilename += `-${Math.floor(Math.random() * (99 - 10 + 1) + 10)}`;
} else { if (!nameFile) {
prependFilename = Math.random().toString(36).substring(7); nameFile = `${Math.random().toString(36).substring(7)}.${
mimeTypes.extension(downloadBase64.mimetype) || ''
}`;
} }
const nameFile = `${prependFilename}.${mimeTypes.extension(downloadBase64.mimetype)}`;
const fileData = Buffer.from(downloadBase64.base64, 'base64'); const fileData = Buffer.from(downloadBase64.base64, 'base64');