2020-12-10 02:09:38 -08:00
import {
INodeProperties
} from 'n8n-workflow' ;
export const messageConversationOperations = [
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
displayOptions : {
show : {
resource : [
'messageConversation' ,
] ,
} ,
} ,
options : [
{
name : 'Create' ,
value : 'create' ,
description : 'Create a message in a conversation' ,
} ,
2021-04-30 17:44:12 -07:00
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete a message in a conversation' ,
} ,
{
name : 'Get' ,
value : 'get' ,
description : 'Get a message in a conversation' ,
} ,
{
name : 'Get All' ,
value : 'getAll' ,
description : 'Get all messages in a conversation' ,
} ,
{
name : 'Update' ,
value : 'update' ,
description : 'Update a message in a conversation' ,
} ,
2020-12-10 02:09:38 -08:00
] ,
default : 'create' ,
description : 'The operation to perform.' ,
} ,
] as INodeProperties [ ] ;
export const messageConversationFields = [
/* -------------------------------------------------------------------------- */
/* messageConversation:create */
/* -------------------------------------------------------------------------- */
{
displayName : 'Workspace ID' ,
name : 'workspaceId' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getWorkspaces' ,
} ,
default : '' ,
displayOptions : {
show : {
operation : [
'create' ,
] ,
resource : [
'messageConversation' ,
] ,
} ,
} ,
required : true ,
description : 'The ID of the workspace.' ,
} ,
{
displayName : 'Conversation ID' ,
name : 'conversationId' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getConversations' ,
loadOptionsDependsOn : [
'workspaceId' ,
] ,
} ,
default : '' ,
displayOptions : {
show : {
operation : [
'create' ,
] ,
resource : [
'messageConversation' ,
] ,
} ,
} ,
required : true ,
description : 'The ID of the conversation.' ,
} ,
{
displayName : 'Content' ,
name : 'content' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
operation : [
'create' ,
] ,
resource : [
'messageConversation' ,
] ,
} ,
} ,
2021-04-30 17:44:12 -07:00
description : 'The content of the new message. Mentions can be used as <code>[Name](twist-mention://user_id)</code> for users or <code>[Group name](twist-group-mention://group_id)</code> for groups.' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
displayOptions : {
show : {
operation : [
'create' ,
] ,
resource : [
'messageConversation' ,
] ,
} ,
} ,
default : { } ,
2021-04-30 17:44:12 -07:00
description : 'Other options to set.' ,
2020-12-10 02:09:38 -08:00
placeholder : 'Add options' ,
options : [
{
displayName : 'Actions' ,
name : 'actionsUi' ,
type : 'fixedCollection' ,
placeholder : 'Add Action' ,
typeOptions : {
multipleValues : true ,
} ,
options : [
{
displayName : 'Action' ,
name : 'actionValues' ,
values : [
{
displayName : 'Action' ,
name : 'action' ,
type : 'options' ,
2021-04-30 17:44:12 -07:00
description : 'The action of the button.' ,
2020-12-10 02:09:38 -08:00
options : [
{
name : 'Open URL' ,
value : 'open_url' ,
} ,
{
name : 'Prefill Message' ,
value : 'prefill_message' ,
} ,
{
name : 'Send Reply' ,
value : 'send_reply' ,
} ,
] ,
default : '' ,
} ,
{
displayName : 'Button Text' ,
name : 'button_text' ,
type : 'string' ,
description : 'The text for the action button.' ,
default : '' ,
} ,
{
displayName : 'Message' ,
name : 'message' ,
type : 'string' ,
displayOptions : {
show : {
action : [
'send_reply' ,
'prefill_message' ,
] ,
} ,
} ,
description : 'The text for the action button.' ,
default : '' ,
} ,
{
displayName : 'Type' ,
name : 'type' ,
type : 'options' ,
2021-04-30 17:44:12 -07:00
description : 'The type of the button. (Currently only <code>action</code> is available).' ,
2020-12-10 02:09:38 -08:00
options : [
{
name : 'Action' ,
value : 'action' ,
} ,
] ,
default : '' ,
} ,
{
displayName : 'URL' ,
name : 'url' ,
type : 'string' ,
displayOptions : {
show : {
action : [
'open_url' ,
] ,
} ,
} ,
2021-04-30 17:44:12 -07:00
description : 'URL to redirect.' ,
2020-12-10 02:09:38 -08:00
default : '' ,
} ,
] ,
} ,
] ,
} ,
{
displayName : 'Attachments' ,
name : 'binaryProperties' ,
type : 'string' ,
default : 'data' ,
description : 'Name of the property that holds the binary data. Multiple can be defined separated by comma.' ,
} ,
{
displayName : 'Direct Mentions' ,
name : 'direct_mentions' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsMethod : 'getUsers' ,
} ,
default : [ ] ,
2021-04-30 17:44:12 -07:00
description : 'The users that are directly mentioned.' ,
2020-12-10 02:09:38 -08:00
} ,
// {
// displayName: 'Direct Group Mentions ',
// name: 'direct_group_mentions',
// type: 'multiOptions',
// typeOptions: {
// loadOptionsMethod: 'getGroups',
// },
// default: [],
2021-04-30 17:44:12 -07:00
// description: 'The groups that are directly mentioned.',
2020-12-10 02:09:38 -08:00
// },
] ,
} ,
2021-04-30 17:44:12 -07:00
/* -------------------------------------------------------------------------- */
/* messageConversation:getAll */
/* -------------------------------------------------------------------------- */
{
displayName : 'Workspace ID' ,
name : 'workspaceId' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getWorkspaces' ,
} ,
default : '' ,
displayOptions : {
show : {
operation : [
'getAll' ,
] ,
resource : [
'messageConversation' ,
] ,
} ,
} ,
required : true ,
description : 'The ID of the workspace.' ,
} ,
{
displayName : 'Conversation ID' ,
name : 'conversationId' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getConversations' ,
loadOptionsDependsOn : [
'workspaceId' ,
] ,
} ,
default : '' ,
displayOptions : {
show : {
operation : [
'getAll' ,
] ,
resource : [
'messageConversation' ,
] ,
} ,
} ,
required : true ,
description : 'The ID of the conversation.' ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
displayOptions : {
show : {
operation : [
'getAll' ,
] ,
resource : [
'messageConversation' ,
] ,
} ,
} ,
default : { } ,
description : 'Other options to set.' ,
options : [
{
displayName : 'Ending Object Index' ,
name : 'to_obj_index' ,
type : 'number' ,
default : 50 ,
description : 'Limit messages ending at the specified object index.' ,
} ,
{
displayName : 'Limit' ,
name : 'limit' ,
type : 'number' ,
default : 50 ,
description : 'Limits the number of messages returned.' ,
} ,
{
displayName : 'Order By' ,
name : 'order_by' ,
type : 'options' ,
default : 'ASC' ,
description : 'The order of the conversations returned - one of DESC or ASC.' ,
options : [
{
name : 'ASC' ,
value : 'ASC' ,
} ,
{
name : 'DESC' ,
value : 'DESC' ,
} ,
] ,
} ,
{
displayName : 'Starting Object Index' ,
name : 'from_obj_index' ,
type : 'number' ,
default : 0 ,
description : 'Limit messages starting at the specified object index.' ,
} ,
] ,
} ,
/* -------------------------------------------------------------------------- */
/* messageConversation:get/delete/update */
/* -------------------------------------------------------------------------- */
{
displayName : 'Message ID' ,
name : 'id' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
operation : [
'delete' ,
'get' ,
] ,
resource : [
'messageConversation' ,
] ,
} ,
} ,
required : true ,
description : 'The ID of the conversation message.' ,
} ,
/* -------------------------------------------------------------------------- */
/* messageConversation:update */
/* -------------------------------------------------------------------------- */
{
displayName : 'Conversation Message ID' ,
name : 'id' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
operation : [
'update' ,
] ,
resource : [
'messageConversation' ,
] ,
} ,
} ,
required : true ,
description : 'The ID of the conversation message.' ,
} ,
{
displayName : 'Update Fields' ,
name : 'updateFields' ,
type : 'collection' ,
displayOptions : {
show : {
operation : [
'update' ,
] ,
resource : [
'messageConversation' ,
] ,
} ,
} ,
default : { } ,
description : 'Other options to set.' ,
options : [
{
displayName : 'Actions' ,
name : 'actionsUi' ,
type : 'fixedCollection' ,
placeholder : 'Add Action' ,
typeOptions : {
multipleValues : true ,
} ,
options : [
{
displayName : 'Action' ,
name : 'actionValues' ,
values : [
{
displayName : 'Action' ,
name : 'action' ,
type : 'options' ,
description : 'The action of the button.' ,
options : [
{
name : 'Open URL' ,
value : 'open_url' ,
} ,
{
name : 'Prefill Message' ,
value : 'prefill_message' ,
} ,
{
name : 'Send Reply' ,
value : 'send_reply' ,
} ,
] ,
default : '' ,
} ,
{
displayName : 'Button Text' ,
name : 'button_text' ,
type : 'string' ,
description : 'The text for the action button.' ,
default : '' ,
} ,
{
displayName : 'Message' ,
name : 'message' ,
type : 'string' ,
displayOptions : {
show : {
action : [
'send_reply' ,
'prefill_message' ,
] ,
} ,
} ,
description : 'The text for the action button.' ,
default : '' ,
} ,
{
displayName : 'Type' ,
name : 'type' ,
type : 'options' ,
description : 'The type of the button. (Currently only <code>action</code> is available).' ,
options : [
{
name : 'Action' ,
value : 'action' ,
} ,
] ,
default : '' ,
} ,
{
displayName : 'URL' ,
name : 'url' ,
type : 'string' ,
displayOptions : {
show : {
action : [
'open_url' ,
] ,
} ,
} ,
description : 'URL to redirect.' ,
default : '' ,
} ,
] ,
} ,
] ,
} ,
{
displayName : 'Attachments' ,
name : 'binaryProperties' ,
type : 'string' ,
default : 'data' ,
description : 'Name of the property that holds the binary data. Multiple can be defined separated by comma.' ,
} ,
{
displayName : 'Content' ,
name : 'content' ,
type : 'string' ,
default : '' ,
description : 'The content of the new message. Mentions can be used as <code>[Name](twist-mention://user_id)</code> for users or <code>[Group name](twist-group-mention://group_id)</code> for groups.' ,
} ,
{
displayName : 'Direct Mentions' ,
name : 'direct_mentions' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsMethod : 'getUsers' ,
} ,
default : [ ] ,
description : 'The users that are directly mentioned.' ,
} ,
] ,
} ,
2020-12-10 02:09:38 -08:00
] as INodeProperties [ ] ;