fix(Slack Node): User id not sent correctly to API when updating user profile (#11153)

Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com>
This commit is contained in:
Ria Scholz 2024-10-08 14:35:37 +02:00 committed by GitHub
parent c70969da2b
commit ed9e61c460
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 23 additions and 1 deletions

View file

@ -79,6 +79,16 @@ export async function slackApiRequest(
level: 'warning',
},
);
} else if (response.error === 'not_admin') {
throw new NodeOperationError(
this.getNode(),
'Need higher Role Level for this Operation (e.g. Owner or Admin Rights)',
{
description:
'Hint: Check the Role of your Slack App Integration. For more information see the Slack Documentation - https://slack.com/help/articles/360018112273-Types-of-roles-in-Slack',
level: 'warning',
},
);
}
throw new NodeOperationError(
@ -86,6 +96,7 @@ export async function slackApiRequest(
'Slack error response: ' + JSON.stringify(response.error),
);
}
if (response.ts !== undefined) {
Object.assign(response, { message_timestamp: response.ts });
delete response.ts;

View file

@ -1299,18 +1299,29 @@ export class SlackV2 implements INodeType {
options.fields = fields;
}
Object.assign(body, options);
let requestBody: IDataObject = { profile: body };
let userId;
if (options.user) {
userId = options.user;
delete body.user;
requestBody = { profile: body, user: userId };
}
responseData = await slackApiRequest.call(
this,
'POST',
'/users.profile.set',
{ profile: body },
requestBody,
qs,
);
responseData = responseData.profile;
}
}
if (resource === 'userGroup') {
//https://api.slack.com/methods/usergroups.create
if (operation === 'create') {