mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 10:02:05 +00:00
✨ Add user group resource to Slack Node (#2405)
This commit is contained in:
@@ -41,6 +41,11 @@ import {
|
||||
reactionOperations,
|
||||
} from './ReactionDescription';
|
||||
|
||||
import {
|
||||
userGroupFields,
|
||||
userGroupOperations,
|
||||
} from './UserGroupDescription';
|
||||
|
||||
import {
|
||||
userFields,
|
||||
userOperations,
|
||||
@@ -191,6 +196,10 @@ export class Slack implements INodeType {
|
||||
name: 'User',
|
||||
value: 'user',
|
||||
},
|
||||
{
|
||||
name: 'User Group',
|
||||
value: 'userGroup',
|
||||
},
|
||||
{
|
||||
name: 'User Profile',
|
||||
value: 'userProfile',
|
||||
@@ -212,6 +221,8 @@ export class Slack implements INodeType {
|
||||
...reactionFields,
|
||||
...userOperations,
|
||||
...userFields,
|
||||
...userGroupOperations,
|
||||
...userGroupFields,
|
||||
...userProfileOperations,
|
||||
...userProfileFields,
|
||||
],
|
||||
@@ -295,13 +306,14 @@ export class Slack implements INodeType {
|
||||
|
||||
try {
|
||||
const response = await this.helpers.request(options);
|
||||
|
||||
if (!response.ok) {
|
||||
return {
|
||||
status: 'Error',
|
||||
message: `${response.error}`,
|
||||
};
|
||||
}
|
||||
} catch(err) {
|
||||
} catch (err) {
|
||||
return {
|
||||
status: 'Error',
|
||||
message: `${err.message}`,
|
||||
@@ -414,10 +426,10 @@ export class Slack implements INodeType {
|
||||
qs.inclusive = filters.inclusive as boolean;
|
||||
}
|
||||
if (filters.latest) {
|
||||
qs.latest = new Date(filters.latest as string).getTime()/1000;
|
||||
qs.latest = new Date(filters.latest as string).getTime() / 1000;
|
||||
}
|
||||
if (filters.oldest) {
|
||||
qs.oldest = new Date(filters.oldest as string).getTime()/1000;
|
||||
qs.oldest = new Date(filters.oldest as string).getTime() / 1000;
|
||||
}
|
||||
if (returnAll === true) {
|
||||
responseData = await slackApiRequestAllItems.call(this, 'messages', 'GET', '/conversations.history', {}, qs);
|
||||
@@ -508,10 +520,10 @@ export class Slack implements INodeType {
|
||||
qs.inclusive = filters.inclusive as boolean;
|
||||
}
|
||||
if (filters.latest) {
|
||||
qs.latest = new Date(filters.latest as string).getTime()/1000;
|
||||
qs.latest = new Date(filters.latest as string).getTime() / 1000;
|
||||
}
|
||||
if (filters.oldest) {
|
||||
qs.oldest = new Date(filters.oldest as string).getTime()/1000;
|
||||
qs.oldest = new Date(filters.oldest as string).getTime() / 1000;
|
||||
}
|
||||
if (returnAll === true) {
|
||||
responseData = await slackApiRequestAllItems.call(this, 'messages', 'GET', '/conversations.replies', {}, qs);
|
||||
@@ -1036,6 +1048,94 @@ export class Slack implements INodeType {
|
||||
responseData = await slackApiRequest.call(this, 'GET', '/users.getPresence', {}, qs);
|
||||
}
|
||||
}
|
||||
if (resource === 'userGroup') {
|
||||
//https://api.slack.com/methods/usergroups.create
|
||||
if (operation === 'create') {
|
||||
const name = this.getNodeParameter('name', i) as string;
|
||||
|
||||
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
|
||||
|
||||
const body: IDataObject = {
|
||||
name,
|
||||
};
|
||||
|
||||
Object.assign(body, additionalFields);
|
||||
|
||||
responseData = await slackApiRequest.call(this, 'POST', '/usergroups.create', body, qs);
|
||||
|
||||
responseData = responseData.usergroup;
|
||||
}
|
||||
//https://api.slack.com/methods/usergroups.enable
|
||||
if (operation === 'enable') {
|
||||
const userGroupId = this.getNodeParameter('userGroupId', i) as string;
|
||||
|
||||
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
|
||||
|
||||
const body: IDataObject = {
|
||||
usergroup: userGroupId,
|
||||
};
|
||||
|
||||
Object.assign(body, additionalFields);
|
||||
|
||||
responseData = await slackApiRequest.call(this, 'POST', '/usergroups.enable', body, qs);
|
||||
|
||||
responseData = responseData.usergroup;
|
||||
}
|
||||
//https://api.slack.com/methods/usergroups.disable
|
||||
if (operation === 'disable') {
|
||||
const userGroupId = this.getNodeParameter('userGroupId', i) as string;
|
||||
|
||||
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
|
||||
|
||||
const body: IDataObject = {
|
||||
usergroup: userGroupId,
|
||||
};
|
||||
|
||||
Object.assign(body, additionalFields);
|
||||
|
||||
responseData = await slackApiRequest.call(this, 'POST', '/usergroups.disable', body, qs);
|
||||
|
||||
responseData = responseData.usergroup;
|
||||
}
|
||||
|
||||
//https://api.slack.com/methods/usergroups.list
|
||||
if (operation === 'getAll') {
|
||||
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
|
||||
|
||||
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
|
||||
|
||||
const qs: IDataObject = {};
|
||||
|
||||
Object.assign(qs, additionalFields);
|
||||
|
||||
responseData = await slackApiRequest.call(this, 'GET', '/usergroups.list', {}, qs);
|
||||
|
||||
responseData = responseData.usergroups;
|
||||
|
||||
if (returnAll === false) {
|
||||
const limit = this.getNodeParameter('limit', i) as number;
|
||||
|
||||
responseData = responseData.slice(0, limit);
|
||||
}
|
||||
}
|
||||
|
||||
//https://api.slack.com/methods/usergroups.update
|
||||
if (operation === 'update') {
|
||||
const userGroupId = this.getNodeParameter('userGroupId', i) as string;
|
||||
|
||||
const updateFields = this.getNodeParameter('updateFields', i) as IDataObject;
|
||||
|
||||
const body: IDataObject = {
|
||||
usergroup: userGroupId,
|
||||
};
|
||||
|
||||
Object.assign(body, updateFields);
|
||||
|
||||
responseData = await slackApiRequest.call(this, 'POST', '/usergroups.update', body, qs);
|
||||
|
||||
responseData = responseData.usergroup;
|
||||
}
|
||||
}
|
||||
if (resource === 'userProfile') {
|
||||
//https://api.slack.com/methods/users.profile.set
|
||||
if (operation === 'update') {
|
||||
|
||||
Reference in New Issue
Block a user