Skip to content

Commit

Permalink
feat(Matrix Node): Allow setting filename if the binary data has none (
Browse files Browse the repository at this point in the history
  • Loading branch information
Joffcom authored Jun 26, 2023
1 parent b66d151 commit 8b76e98
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 3 deletions.
10 changes: 8 additions & 2 deletions packages/nodes-base/nodes/Matrix/GenericFunctions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ export async function handleMatrixCall(
const roomId = this.getNodeParameter('roomId', index) as string;
const mediaType = this.getNodeParameter('mediaType', index) as string;
const binaryPropertyName = this.getNodeParameter('binaryPropertyName', index);
const additionalFields = this.getNodeParameter('additionalFields', index);

let body;
const qs: IDataObject = {};
Expand All @@ -197,7 +198,12 @@ export async function handleMatrixCall(
const { fileName, mimeType } = this.helpers.assertBinaryData(index, binaryPropertyName);
body = await this.helpers.getBinaryDataBuffer(index, binaryPropertyName);

qs.filename = fileName;
if (additionalFields.fileName) {
qs.filename = additionalFields.fileName as string;
} else {
qs.filename = fileName;
}

headers['Content-Type'] = mimeType;
headers.accept = 'application/json,text/*;q=0.99';

Expand All @@ -216,7 +222,7 @@ export async function handleMatrixCall(

body = {
msgtype: `m.${mediaType}`,
body: fileName,
body: qs.filename,
url: uploadRequestResult.content_uri,
};
const messageId = uuid();
Expand Down
24 changes: 23 additions & 1 deletion packages/nodes-base/nodes/Matrix/MediaDescription.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,30 @@ export const mediaFields: INodeProperties[] = [
description: 'Image media type',
},
],
description: 'Name of the uploaded file',
description: 'Type of file being uploaded',
placeholder: 'mxc://matrix.org/uploaded-media-uri',
required: true,
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: ['media'],
operation: ['upload'],
},
},
options: [
{
displayName: 'File Name',
name: 'fileName',
type: 'string',
default: '',
description: 'Name of the file being uploaded',
},
],
},
];

0 comments on commit 8b76e98

Please sign in to comment.