Merge pull request #334 from jaison-x/adjust-filename-chatwoot

fix(chatwoot): when possible use the original file extension
This commit is contained in:
Davidson Gomes 2023-12-29 17:10:43 -03:00 committed by GitHub
commit af94a0e174
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1527,20 +1527,21 @@ export class ChatwootService {
},
});
let prependFilename: string;
if (
body?.message[body?.messageType]?.fileName ||
body?.message[body?.messageType]?.message?.documentMessage?.fileName
) {
prependFilename = path.parse(
body?.message[body?.messageType]?.fileName ||
body?.message[body?.messageType]?.message?.documentMessage?.fileName,
).name;
prependFilename += `-${Math.floor(Math.random() * (99 - 10 + 1) + 10)}`;
} else {
prependFilename = Math.random().toString(36).substring(7);
let nameFile: string;
const messageBody = body?.message[body?.messageType];
const originalFilename = messageBody?.fileName || messageBody?.message?.documentMessage?.fileName;
if (originalFilename) {
const parsedFile = path.parse(originalFilename);
if (parsedFile.name && parsedFile.ext) {
nameFile = `${parsedFile.name}-${Math.floor(Math.random() * (99 - 10 + 1) + 10)}${parsedFile.ext}`;
}
}
if (!nameFile) {
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');