Flowise/packages/components/nodes/tools/MicrosoftTeams/MicrosoftTeams.ts

1013 lines
40 KiB
TypeScript

import { INode, INodeData, INodeParams } from '../../../src/Interface'
import { convertMultiOptionsToStringArray, getCredentialData, getCredentialParam, refreshOAuth2Token } from '../../../src/utils'
import { createTeamsTools } from './core'
class MicrosoftTeams_Tools implements INode {
label: string
name: string
version: number
description: string
type: string
icon: string
category: string
baseClasses: string[]
inputs: INodeParams[]
credential: INodeParams
constructor() {
this.label = 'Microsoft Teams'
this.name = 'microsoftTeams'
this.version = 1.0
this.type = 'MicrosoftTeams'
this.icon = 'teams.svg'
this.category = 'Tools'
this.description = 'Perform Microsoft Teams operations for channels, chats, and chat messages'
this.baseClasses = [this.type, 'Tool']
this.credential = {
label: 'Connect Credential',
name: 'credential',
type: 'credential',
credentialNames: ['microsoftTeamsOAuth2']
}
this.inputs = [
{
label: 'Type',
name: 'teamsType',
type: 'options',
options: [
{
label: 'Channel',
name: 'channel'
},
{
label: 'Chat',
name: 'chat'
},
{
label: 'Chat Message',
name: 'chatMessage'
}
]
},
// Channel Actions
{
label: 'Channel Actions',
name: 'channelActions',
type: 'multiOptions',
options: [
{
label: 'List Channels',
name: 'listChannels'
},
{
label: 'Get Channel',
name: 'getChannel'
},
{
label: 'Create Channel',
name: 'createChannel'
},
{
label: 'Update Channel',
name: 'updateChannel'
},
{
label: 'Delete Channel',
name: 'deleteChannel'
},
{
label: 'Archive Channel',
name: 'archiveChannel'
},
{
label: 'Unarchive Channel',
name: 'unarchiveChannel'
},
{
label: 'List Channel Members',
name: 'listChannelMembers'
},
{
label: 'Add Channel Member',
name: 'addChannelMember'
},
{
label: 'Remove Channel Member',
name: 'removeChannelMember'
}
],
show: {
teamsType: ['channel']
}
},
// Chat Actions
{
label: 'Chat Actions',
name: 'chatActions',
type: 'multiOptions',
options: [
{
label: 'List Chats',
name: 'listChats'
},
{
label: 'Get Chat',
name: 'getChat'
},
{
label: 'Create Chat',
name: 'createChat'
},
{
label: 'Update Chat',
name: 'updateChat'
},
{
label: 'Delete Chat',
name: 'deleteChat'
},
{
label: 'List Chat Members',
name: 'listChatMembers'
},
{
label: 'Add Chat Member',
name: 'addChatMember'
},
{
label: 'Remove Chat Member',
name: 'removeChatMember'
},
{
label: 'Pin Message',
name: 'pinMessage'
},
{
label: 'Unpin Message',
name: 'unpinMessage'
}
],
show: {
teamsType: ['chat']
}
},
// Chat Message Actions
{
label: 'Chat Message Actions',
name: 'chatMessageActions',
type: 'multiOptions',
options: [
{
label: 'List Messages',
name: 'listMessages'
},
{
label: 'Get Message',
name: 'getMessage'
},
{
label: 'Send Message',
name: 'sendMessage'
},
{
label: 'Update Message',
name: 'updateMessage'
},
{
label: 'Delete Message',
name: 'deleteMessage'
},
{
label: 'Reply to Message',
name: 'replyToMessage'
},
{
label: 'Set Reaction',
name: 'setReaction'
},
{
label: 'Unset Reaction',
name: 'unsetReaction'
},
{
label: 'Get All Messages',
name: 'getAllMessages'
}
],
show: {
teamsType: ['chatMessage']
}
},
// CHANNEL PARAMETERS
// List Channels Parameters
{
label: 'Team ID [List Channels]',
name: 'teamIdListChannels',
type: 'string',
description: 'ID of the team to list channels from',
show: {
teamsType: ['channel'],
channelActions: ['listChannels']
},
additionalParams: true,
optional: true
},
{
label: 'Max Results [List Channels]',
name: 'maxResultsListChannels',
type: 'number',
description: 'Maximum number of channels to return',
default: 50,
show: {
teamsType: ['channel'],
channelActions: ['listChannels']
},
additionalParams: true,
optional: true
},
// Get Channel Parameters
{
label: 'Team ID [Get Channel]',
name: 'teamIdGetChannel',
type: 'string',
description: 'ID of the team that contains the channel',
show: {
teamsType: ['channel'],
channelActions: ['getChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Channel ID [Get Channel]',
name: 'channelIdGetChannel',
type: 'string',
description: 'ID of the channel to retrieve',
show: {
teamsType: ['channel'],
channelActions: ['getChannel']
},
additionalParams: true,
optional: true
},
// Create Channel Parameters
{
label: 'Team ID [Create Channel]',
name: 'teamIdCreateChannel',
type: 'string',
description: 'ID of the team to create the channel in',
show: {
teamsType: ['channel'],
channelActions: ['createChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Display Name [Create Channel]',
name: 'displayNameCreateChannel',
type: 'string',
description: 'Display name of the channel',
placeholder: 'My New Channel',
show: {
teamsType: ['channel'],
channelActions: ['createChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Description [Create Channel]',
name: 'descriptionCreateChannel',
type: 'string',
description: 'Description of the channel',
placeholder: 'Channel description',
rows: 2,
show: {
teamsType: ['channel'],
channelActions: ['createChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Membership Type [Create Channel]',
name: 'membershipTypeCreateChannel',
type: 'options',
options: [
{ label: 'Standard', name: 'standard' },
{ label: 'Private', name: 'private' },
{ label: 'Shared', name: 'shared' }
],
default: 'standard',
description: 'Type of channel membership',
show: {
teamsType: ['channel'],
channelActions: ['createChannel']
},
additionalParams: true,
optional: true
},
// Update Channel Parameters
{
label: 'Team ID [Update Channel]',
name: 'teamIdUpdateChannel',
type: 'string',
description: 'ID of the team that contains the channel',
show: {
teamsType: ['channel'],
channelActions: ['updateChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Channel ID [Update Channel]',
name: 'channelIdUpdateChannel',
type: 'string',
description: 'ID of the channel to update',
show: {
teamsType: ['channel'],
channelActions: ['updateChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Display Name [Update Channel]',
name: 'displayNameUpdateChannel',
type: 'string',
description: 'New display name of the channel',
show: {
teamsType: ['channel'],
channelActions: ['updateChannel']
},
additionalParams: true,
optional: true
},
// Delete/Archive Channel Parameters
{
label: 'Team ID [Delete/Archive Channel]',
name: 'teamIdDeleteChannel',
type: 'string',
description: 'ID of the team that contains the channel',
show: {
teamsType: ['channel'],
channelActions: ['deleteChannel', 'archiveChannel', 'unarchiveChannel']
},
additionalParams: true,
optional: true
},
{
label: 'Channel ID [Delete/Archive Channel]',
name: 'channelIdDeleteChannel',
type: 'string',
description: 'ID of the channel to delete or archive',
show: {
teamsType: ['channel'],
channelActions: ['deleteChannel', 'archiveChannel', 'unarchiveChannel']
},
additionalParams: true,
optional: true
},
// Channel Members Parameters
{
label: 'Team ID [Channel Members]',
name: 'teamIdChannelMembers',
type: 'string',
description: 'ID of the team that contains the channel',
show: {
teamsType: ['channel'],
channelActions: ['listChannelMembers', 'addChannelMember', 'removeChannelMember']
},
additionalParams: true,
optional: true
},
{
label: 'Channel ID [Channel Members]',
name: 'channelIdChannelMembers',
type: 'string',
description: 'ID of the channel',
show: {
teamsType: ['channel'],
channelActions: ['listChannelMembers', 'addChannelMember', 'removeChannelMember']
},
additionalParams: true,
optional: true
},
{
label: 'User ID [Add/Remove Channel Member]',
name: 'userIdChannelMember',
type: 'string',
description: 'ID of the user to add or remove',
show: {
teamsType: ['channel'],
channelActions: ['addChannelMember', 'removeChannelMember']
},
additionalParams: true,
optional: true
},
// CHAT PARAMETERS
// List Chats Parameters
{
label: 'Max Results [List Chats]',
name: 'maxResultsListChats',
type: 'number',
description: 'Maximum number of chats to return',
default: 50,
show: {
teamsType: ['chat'],
chatActions: ['listChats']
},
additionalParams: true,
optional: true
},
// Get Chat Parameters
{
label: 'Chat ID [Get Chat]',
name: 'chatIdGetChat',
type: 'string',
description: 'ID of the chat to retrieve',
show: {
teamsType: ['chat'],
chatActions: ['getChat']
},
additionalParams: true,
optional: true
},
// Create Chat Parameters
{
label: 'Chat Type [Create Chat]',
name: 'chatTypeCreateChat',
type: 'options',
options: [
{ label: 'One on One', name: 'oneOnOne' },
{ label: 'Group', name: 'group' }
],
default: 'group',
description: 'Type of chat to create',
show: {
teamsType: ['chat'],
chatActions: ['createChat']
},
additionalParams: true,
optional: true
},
{
label: 'Topic [Create Chat]',
name: 'topicCreateChat',
type: 'string',
description: 'Topic/subject of the chat (for group chats)',
placeholder: 'Chat topic',
show: {
teamsType: ['chat'],
chatActions: ['createChat']
},
additionalParams: true,
optional: true
},
{
label: 'Members [Create Chat]',
name: 'membersCreateChat',
type: 'string',
description: 'Comma-separated list of user IDs to add to the chat',
placeholder: 'user1@example.com,user2@example.com',
show: {
teamsType: ['chat'],
chatActions: ['createChat']
},
additionalParams: true,
optional: true
},
// Update Chat Parameters
{
label: 'Chat ID [Update Chat]',
name: 'chatIdUpdateChat',
type: 'string',
description: 'ID of the chat to update',
show: {
teamsType: ['chat'],
chatActions: ['updateChat']
},
additionalParams: true,
optional: true
},
{
label: 'Topic [Update Chat]',
name: 'topicUpdateChat',
type: 'string',
description: 'New topic/subject of the chat',
show: {
teamsType: ['chat'],
chatActions: ['updateChat']
},
additionalParams: true,
optional: true
},
// Delete Chat Parameters
{
label: 'Chat ID [Delete Chat]',
name: 'chatIdDeleteChat',
type: 'string',
description: 'ID of the chat to delete',
show: {
teamsType: ['chat'],
chatActions: ['deleteChat']
},
additionalParams: true,
optional: true
},
// Chat Members Parameters
{
label: 'Chat ID [Chat Members]',
name: 'chatIdChatMembers',
type: 'string',
description: 'ID of the chat',
show: {
teamsType: ['chat'],
chatActions: ['listChatMembers', 'addChatMember', 'removeChatMember']
},
additionalParams: true,
optional: true
},
{
label: 'User ID [Add/Remove Chat Member]',
name: 'userIdChatMember',
type: 'string',
description: 'ID of the user to add or remove',
show: {
teamsType: ['chat'],
chatActions: ['addChatMember', 'removeChatMember']
},
additionalParams: true,
optional: true
},
// Pin/Unpin Message Parameters
{
label: 'Chat ID [Pin/Unpin Message]',
name: 'chatIdPinMessage',
type: 'string',
description: 'ID of the chat',
show: {
teamsType: ['chat'],
chatActions: ['pinMessage', 'unpinMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Pin/Unpin Message]',
name: 'messageIdPinMessage',
type: 'string',
description: 'ID of the message to pin or unpin',
show: {
teamsType: ['chat'],
chatActions: ['pinMessage', 'unpinMessage']
},
additionalParams: true,
optional: true
},
// CHAT MESSAGE PARAMETERS
// List Messages Parameters
{
label: 'Chat/Channel ID [List Messages]',
name: 'chatChannelIdListMessages',
type: 'string',
description: 'ID of the chat or channel to list messages from',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['listMessages']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [List Messages - Channel Only]',
name: 'teamIdListMessages',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['listMessages']
},
additionalParams: true,
optional: true
},
{
label: 'Max Results [List Messages]',
name: 'maxResultsListMessages',
type: 'number',
description: 'Maximum number of messages to return',
default: 50,
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['listMessages']
},
additionalParams: true,
optional: true
},
// Get Message Parameters
{
label: 'Chat/Channel ID [Get Message]',
name: 'chatChannelIdGetMessage',
type: 'string',
description: 'ID of the chat or channel',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['getMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Get Message - Channel Only]',
name: 'teamIdGetMessage',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['getMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Get Message]',
name: 'messageIdGetMessage',
type: 'string',
description: 'ID of the message to retrieve',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['getMessage']
},
additionalParams: true,
optional: true
},
// Send Message Parameters
{
label: 'Chat/Channel ID [Send Message]',
name: 'chatChannelIdSendMessage',
type: 'string',
description: 'ID of the chat or channel to send message to',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['sendMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Send Message - Channel Only]',
name: 'teamIdSendMessage',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['sendMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message Body [Send Message]',
name: 'messageBodySendMessage',
type: 'string',
description: 'Content of the message',
placeholder: 'Hello, this is a message!',
rows: 4,
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['sendMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Content Type [Send Message]',
name: 'contentTypeSendMessage',
type: 'options',
options: [
{ label: 'Text', name: 'text' },
{ label: 'HTML', name: 'html' }
],
default: 'text',
description: 'Content type of the message',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['sendMessage']
},
additionalParams: true,
optional: true
},
// Update Message Parameters
{
label: 'Chat/Channel ID [Update Message]',
name: 'chatChannelIdUpdateMessage',
type: 'string',
description: 'ID of the chat or channel',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['updateMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Update Message - Channel Only]',
name: 'teamIdUpdateMessage',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['updateMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Update Message]',
name: 'messageIdUpdateMessage',
type: 'string',
description: 'ID of the message to update',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['updateMessage']
},
additionalParams: true,
optional: true
},
// Delete Message Parameters
{
label: 'Chat/Channel ID [Delete Message]',
name: 'chatChannelIdDeleteMessage',
type: 'string',
description: 'ID of the chat or channel',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['deleteMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Delete Message - Channel Only]',
name: 'teamIdDeleteMessage',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['deleteMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Delete Message]',
name: 'messageIdDeleteMessage',
type: 'string',
description: 'ID of the message to delete',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['deleteMessage']
},
additionalParams: true,
optional: true
},
// Reply to Message Parameters
{
label: 'Chat/Channel ID [Reply to Message]',
name: 'chatChannelIdReplyMessage',
type: 'string',
description: 'ID of the chat or channel',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['replyToMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Reply to Message - Channel Only]',
name: 'teamIdReplyMessage',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['replyToMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Reply to Message]',
name: 'messageIdReplyMessage',
type: 'string',
description: 'ID of the message to reply to',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['replyToMessage']
},
additionalParams: true,
optional: true
},
{
label: 'Reply Body [Reply to Message]',
name: 'replyBodyReplyMessage',
type: 'string',
description: 'Content of the reply',
placeholder: 'This is my reply',
rows: 3,
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['replyToMessage']
},
additionalParams: true,
optional: true
},
// Set/Unset Reaction Parameters
{
label: 'Chat/Channel ID [Set/Unset Reaction]',
name: 'chatChannelIdReaction',
type: 'string',
description: 'ID of the chat or channel',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['setReaction', 'unsetReaction']
},
additionalParams: true,
optional: true
},
{
label: 'Team ID [Set/Unset Reaction - Channel Only]',
name: 'teamIdReaction',
type: 'string',
description: 'ID of the team (required for channel messages)',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['setReaction', 'unsetReaction']
},
additionalParams: true,
optional: true
},
{
label: 'Message ID [Set/Unset Reaction]',
name: 'messageIdReaction',
type: 'string',
description: 'ID of the message to react to',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['setReaction', 'unsetReaction']
},
additionalParams: true,
optional: true
},
{
label: 'Reaction Type [Set Reaction]',
name: 'reactionTypeSetReaction',
type: 'options',
options: [
{ label: 'Like', name: 'like' },
{ label: 'Heart', name: 'heart' },
{ label: 'Laugh', name: 'laugh' },
{ label: 'Surprised', name: 'surprised' },
{ label: 'Sad', name: 'sad' },
{ label: 'Angry', name: 'angry' }
],
default: 'like',
description: 'Type of reaction to set',
show: {
teamsType: ['chatMessage'],
chatMessageActions: ['setReaction']
},
additionalParams: true,
optional: true
}
]
}
async init(nodeData: INodeData, _: string, options: any): Promise<any> {
const teamsType = nodeData.inputs?.teamsType as string
const channelActions = nodeData.inputs?.channelActions as string
const chatActions = nodeData.inputs?.chatActions as string
const chatMessageActions = nodeData.inputs?.chatMessageActions as string
let actions: string[] = []
if (teamsType === 'channel') {
actions = convertMultiOptionsToStringArray(channelActions)
} else if (teamsType === 'chat') {
actions = convertMultiOptionsToStringArray(chatActions)
} else if (teamsType === 'chatMessage') {
actions = convertMultiOptionsToStringArray(chatMessageActions)
}
let credentialData = await getCredentialData(nodeData.credential ?? '', options)
credentialData = await refreshOAuth2Token(nodeData.credential ?? '', credentialData, options)
const accessToken = getCredentialParam('access_token', credentialData, nodeData)
if (!accessToken) {
throw new Error('No access token found in credential')
}
const defaultParams = this.transformNodeInputsToToolArgs(nodeData)
const teamsTools = createTeamsTools({
accessToken,
actions,
defaultParams,
type: teamsType
})
return teamsTools
}
transformNodeInputsToToolArgs(nodeData: INodeData): Record<string, any> {
// Collect default parameters from inputs
const defaultParams: Record<string, any> = {}
// Channel parameters
if (nodeData.inputs?.teamIdListChannels) defaultParams.teamIdListChannels = nodeData.inputs.teamIdListChannels
if (nodeData.inputs?.maxResultsListChannels) defaultParams.maxResultsListChannels = nodeData.inputs.maxResultsListChannels
if (nodeData.inputs?.teamIdGetChannel) defaultParams.teamIdGetChannel = nodeData.inputs.teamIdGetChannel
if (nodeData.inputs?.channelIdGetChannel) defaultParams.channelIdGetChannel = nodeData.inputs.channelIdGetChannel
if (nodeData.inputs?.teamIdCreateChannel) defaultParams.teamIdCreateChannel = nodeData.inputs.teamIdCreateChannel
if (nodeData.inputs?.displayNameCreateChannel) defaultParams.displayNameCreateChannel = nodeData.inputs.displayNameCreateChannel
if (nodeData.inputs?.descriptionCreateChannel) defaultParams.descriptionCreateChannel = nodeData.inputs.descriptionCreateChannel
if (nodeData.inputs?.membershipTypeCreateChannel)
defaultParams.membershipTypeCreateChannel = nodeData.inputs.membershipTypeCreateChannel
if (nodeData.inputs?.teamIdUpdateChannel) defaultParams.teamIdUpdateChannel = nodeData.inputs.teamIdUpdateChannel
if (nodeData.inputs?.channelIdUpdateChannel) defaultParams.channelIdUpdateChannel = nodeData.inputs.channelIdUpdateChannel
if (nodeData.inputs?.displayNameUpdateChannel) defaultParams.displayNameUpdateChannel = nodeData.inputs.displayNameUpdateChannel
if (nodeData.inputs?.teamIdDeleteChannel) defaultParams.teamIdDeleteChannel = nodeData.inputs.teamIdDeleteChannel
if (nodeData.inputs?.channelIdDeleteChannel) defaultParams.channelIdDeleteChannel = nodeData.inputs.channelIdDeleteChannel
if (nodeData.inputs?.teamIdChannelMembers) defaultParams.teamIdChannelMembers = nodeData.inputs.teamIdChannelMembers
if (nodeData.inputs?.channelIdChannelMembers) defaultParams.channelIdChannelMembers = nodeData.inputs.channelIdChannelMembers
if (nodeData.inputs?.userIdChannelMember) defaultParams.userIdChannelMember = nodeData.inputs.userIdChannelMember
// Chat parameters
if (nodeData.inputs?.maxResultsListChats) defaultParams.maxResultsListChats = nodeData.inputs.maxResultsListChats
if (nodeData.inputs?.chatIdGetChat) defaultParams.chatIdGetChat = nodeData.inputs.chatIdGetChat
if (nodeData.inputs?.chatTypeCreateChat) defaultParams.chatTypeCreateChat = nodeData.inputs.chatTypeCreateChat
if (nodeData.inputs?.topicCreateChat) defaultParams.topicCreateChat = nodeData.inputs.topicCreateChat
if (nodeData.inputs?.membersCreateChat) defaultParams.membersCreateChat = nodeData.inputs.membersCreateChat
if (nodeData.inputs?.chatIdUpdateChat) defaultParams.chatIdUpdateChat = nodeData.inputs.chatIdUpdateChat
if (nodeData.inputs?.topicUpdateChat) defaultParams.topicUpdateChat = nodeData.inputs.topicUpdateChat
if (nodeData.inputs?.chatIdDeleteChat) defaultParams.chatIdDeleteChat = nodeData.inputs.chatIdDeleteChat
if (nodeData.inputs?.chatIdChatMembers) defaultParams.chatIdChatMembers = nodeData.inputs.chatIdChatMembers
if (nodeData.inputs?.userIdChatMember) defaultParams.userIdChatMember = nodeData.inputs.userIdChatMember
if (nodeData.inputs?.chatIdPinMessage) defaultParams.chatIdPinMessage = nodeData.inputs.chatIdPinMessage
if (nodeData.inputs?.messageIdPinMessage) defaultParams.messageIdPinMessage = nodeData.inputs.messageIdPinMessage
// Chat Message parameters
if (nodeData.inputs?.chatChannelIdListMessages) defaultParams.chatChannelIdListMessages = nodeData.inputs.chatChannelIdListMessages
if (nodeData.inputs?.teamIdListMessages) defaultParams.teamIdListMessages = nodeData.inputs.teamIdListMessages
if (nodeData.inputs?.maxResultsListMessages) defaultParams.maxResultsListMessages = nodeData.inputs.maxResultsListMessages
if (nodeData.inputs?.chatChannelIdGetMessage) defaultParams.chatChannelIdGetMessage = nodeData.inputs.chatChannelIdGetMessage
if (nodeData.inputs?.teamIdGetMessage) defaultParams.teamIdGetMessage = nodeData.inputs.teamIdGetMessage
if (nodeData.inputs?.messageIdGetMessage) defaultParams.messageIdGetMessage = nodeData.inputs.messageIdGetMessage
if (nodeData.inputs?.chatChannelIdSendMessage) defaultParams.chatChannelIdSendMessage = nodeData.inputs.chatChannelIdSendMessage
if (nodeData.inputs?.teamIdSendMessage) defaultParams.teamIdSendMessage = nodeData.inputs.teamIdSendMessage
if (nodeData.inputs?.messageBodySendMessage) defaultParams.messageBodySendMessage = nodeData.inputs.messageBodySendMessage
if (nodeData.inputs?.contentTypeSendMessage) defaultParams.contentTypeSendMessage = nodeData.inputs.contentTypeSendMessage
if (nodeData.inputs?.chatChannelIdUpdateMessage)
defaultParams.chatChannelIdUpdateMessage = nodeData.inputs.chatChannelIdUpdateMessage
if (nodeData.inputs?.teamIdUpdateMessage) defaultParams.teamIdUpdateMessage = nodeData.inputs.teamIdUpdateMessage
if (nodeData.inputs?.messageIdUpdateMessage) defaultParams.messageIdUpdateMessage = nodeData.inputs.messageIdUpdateMessage
if (nodeData.inputs?.chatChannelIdDeleteMessage)
defaultParams.chatChannelIdDeleteMessage = nodeData.inputs.chatChannelIdDeleteMessage
if (nodeData.inputs?.teamIdDeleteMessage) defaultParams.teamIdDeleteMessage = nodeData.inputs.teamIdDeleteMessage
if (nodeData.inputs?.messageIdDeleteMessage) defaultParams.messageIdDeleteMessage = nodeData.inputs.messageIdDeleteMessage
if (nodeData.inputs?.chatChannelIdReplyMessage) defaultParams.chatChannelIdReplyMessage = nodeData.inputs.chatChannelIdReplyMessage
if (nodeData.inputs?.teamIdReplyMessage) defaultParams.teamIdReplyMessage = nodeData.inputs.teamIdReplyMessage
if (nodeData.inputs?.messageIdReplyMessage) defaultParams.messageIdReplyMessage = nodeData.inputs.messageIdReplyMessage
if (nodeData.inputs?.replyBodyReplyMessage) defaultParams.replyBodyReplyMessage = nodeData.inputs.replyBodyReplyMessage
if (nodeData.inputs?.chatChannelIdReaction) defaultParams.chatChannelIdReaction = nodeData.inputs.chatChannelIdReaction
if (nodeData.inputs?.teamIdReaction) defaultParams.teamIdReaction = nodeData.inputs.teamIdReaction
if (nodeData.inputs?.messageIdReaction) defaultParams.messageIdReaction = nodeData.inputs.messageIdReaction
if (nodeData.inputs?.reactionTypeSetReaction) defaultParams.reactionTypeSetReaction = nodeData.inputs.reactionTypeSetReaction
return defaultParams
}
}
module.exports = { nodeClass: MicrosoftTeams_Tools }