2023-01-27 03:22:44 -08:00
import type { INodeProperties } from 'n8n-workflow' ;
2020-02-26 17:46:00 -08:00
2021-12-03 00:44:16 -08:00
export const messageOperations : INodeProperties [ ] = [
2020-02-26 17:46:00 -08:00
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
2022-05-20 14:47:24 -07:00
noDataExpression : true ,
2020-02-26 17:46:00 -08:00
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'message' ] ,
2020-02-26 17:46:00 -08:00
} ,
} ,
options : [
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete a message' ,
2022-07-10 13:50:51 -07:00
action : 'Delete a message' ,
2020-02-26 17:46:00 -08:00
} ,
{
name : 'Get' ,
value : 'get' ,
description : 'Get a message' ,
2022-07-10 13:50:51 -07:00
action : 'Get a message' ,
2020-02-26 17:46:00 -08:00
} ,
{
name : 'Send Private' ,
value : 'sendPrivate' ,
description : 'Send a private message' ,
2022-07-10 13:50:51 -07:00
action : 'Send a private message' ,
2020-02-26 17:46:00 -08:00
} ,
{
name : 'Send to Stream' ,
value : 'sendStream' ,
description : 'Send a message to stream' ,
2022-07-10 13:50:51 -07:00
action : 'Send a message to a stream' ,
2020-02-26 17:46:00 -08:00
} ,
{
name : 'Update' ,
value : 'update' ,
description : 'Update a message' ,
2022-07-10 13:50:51 -07:00
action : 'Update a message' ,
2020-02-26 17:46:00 -08:00
} ,
{
name : 'Upload a File' ,
value : 'updateFile' ,
2022-07-10 13:50:51 -07:00
action : 'Upload a file' ,
2020-02-26 17:46:00 -08:00
} ,
] ,
default : 'sendPrivate' ,
} ,
2021-12-03 00:44:16 -08:00
] ;
2020-02-26 17:46:00 -08:00
2021-12-03 00:44:16 -08:00
export const messageFields : INodeProperties [ ] = [
2020-05-22 15:59:40 -07:00
/* -------------------------------------------------------------------------- */
/* message:sendPrivate */
/* -------------------------------------------------------------------------- */
2020-02-26 17:46:00 -08:00
{
2022-06-20 07:54:01 -07:00
// eslint-disable-next-line n8n-nodes-base/node-param-display-name-wrong-for-dynamic-multi-options
2020-02-26 17:46:00 -08:00
displayName : 'To' ,
name : 'to' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsMethod : 'getUsers' ,
} ,
required : true ,
2022-04-22 09:29:51 -07:00
default : [ ] ,
2020-02-26 17:46:00 -08:00
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'message' ] ,
operation : [ 'sendPrivate' ] ,
2020-02-26 17:46:00 -08:00
} ,
} ,
2022-08-17 08:50:24 -07:00
description :
'The destination stream, or a comma-separated list containing the usernames (emails) of the recipients. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/code-examples/expressions/">expression</a>.' ,
2020-02-26 17:46:00 -08:00
} ,
{
displayName : 'Content' ,
name : 'content' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'message' ] ,
operation : [ 'sendPrivate' ] ,
2020-02-26 17:46:00 -08:00
} ,
} ,
2022-05-06 14:01:25 -07:00
description : 'The content of the message' ,
2020-02-26 17:46:00 -08:00
} ,
2020-05-22 15:59:40 -07:00
/* -------------------------------------------------------------------------- */
/* message:sendStream */
/* -------------------------------------------------------------------------- */
2020-02-26 17:46:00 -08:00
{
2022-06-03 10:23:49 -07:00
displayName : 'Stream Name or ID' ,
2020-02-26 17:46:00 -08:00
name : 'stream' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getStreams' ,
} ,
required : true ,
default : '' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'message' ] ,
operation : [ 'sendStream' ] ,
2020-02-26 17:46:00 -08:00
} ,
} ,
2022-08-17 08:50:24 -07:00
description :
'The destination stream, or a comma-separated list containing the usernames (emails) of the recipients. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code-examples/expressions/">expression</a>.' ,
2020-02-26 17:46:00 -08:00
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'Topic Name or ID' ,
2020-02-26 17:46:00 -08:00
name : 'topic' ,
type : 'options' ,
typeOptions : {
2022-08-17 08:50:24 -07:00
loadOptionsDependsOn : [ 'stream' ] ,
2020-02-26 17:46:00 -08:00
loadOptionsMethod : 'getTopics' ,
} ,
required : true ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'message' ] ,
operation : [ 'sendStream' ] ,
2020-02-26 17:46:00 -08:00
} ,
} ,
default : '' ,
2022-08-17 08:50:24 -07:00
description :
'The topic of the message. Only required if type is stream, ignored otherwise. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code-examples/expressions/">expression</a>.' ,
2020-02-26 17:46:00 -08:00
} ,
{
displayName : 'Content' ,
name : 'content' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'message' ] ,
operation : [ 'sendStream' ] ,
2020-02-26 17:46:00 -08:00
} ,
} ,
2022-05-06 14:01:25 -07:00
description : 'The content of the message' ,
2020-02-26 17:46:00 -08:00
} ,
2020-05-22 15:59:40 -07:00
/* -------------------------------------------------------------------------- */
/* message:update */
/* -------------------------------------------------------------------------- */
2020-02-26 17:46:00 -08:00
{
displayName : 'Message ID' ,
name : 'messageId' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'message' ] ,
operation : [ 'update' ] ,
2020-02-26 17:46:00 -08:00
} ,
} ,
2022-05-06 14:01:25 -07:00
description : 'Unique identifier for the message' ,
2020-02-26 17:46:00 -08:00
} ,
{
displayName : 'Update Fields' ,
name : 'updateFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'message' ] ,
operation : [ 'update' ] ,
2020-02-26 17:46:00 -08:00
} ,
} ,
options : [
{
displayName : 'Content' ,
name : 'content' ,
type : 'string' ,
default : '' ,
description : 'The content of the message' ,
} ,
{
displayName : 'Propagate Mode' ,
name : 'propagateMode' ,
type : 'options' ,
options : [
{
name : 'Change One' ,
value : 'changeOne' ,
} ,
{
name : 'Change Later' ,
value : 'changeLater' ,
} ,
{
name : 'Change All' ,
value : 'changeAll' ,
} ,
] ,
default : 'changeOne' ,
2022-08-17 08:50:24 -07:00
description :
'Which message(s) should be edited: just the one indicated in message_id, messages in the same topic that had been sent after this one, or all of them' ,
2020-02-26 17:46:00 -08:00
} ,
{
displayName : 'Topic' ,
name : 'topic' ,
type : 'string' ,
default : '' ,
2022-04-22 09:29:51 -07:00
description : 'The topic of the message. Only required for stream messages.' ,
2020-02-26 17:46:00 -08:00
} ,
2020-10-22 06:46:03 -07:00
] ,
2020-02-26 17:46:00 -08:00
} ,
2020-05-22 15:59:40 -07:00
/* -------------------------------------------------------------------------- */
/* message:get */
/* -------------------------------------------------------------------------- */
2020-02-26 17:46:00 -08:00
{
displayName : 'Message ID' ,
name : 'messageId' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'message' ] ,
operation : [ 'get' ] ,
2020-02-26 17:46:00 -08:00
} ,
} ,
2022-05-06 14:01:25 -07:00
description : 'Unique identifier for the message' ,
2020-02-26 17:46:00 -08:00
} ,
2020-05-22 15:59:40 -07:00
/* -------------------------------------------------------------------------- */
/* message:delete */
/* -------------------------------------------------------------------------- */
2020-02-26 17:46:00 -08:00
{
displayName : 'Message ID' ,
name : 'messageId' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'message' ] ,
operation : [ 'delete' ] ,
2020-02-26 17:46:00 -08:00
} ,
} ,
2022-05-06 14:01:25 -07:00
description : 'Unique identifier for the message' ,
2020-02-26 17:46:00 -08:00
} ,
2020-05-22 15:59:40 -07:00
/* -------------------------------------------------------------------------- */
/* message:updateFile */
/* -------------------------------------------------------------------------- */
2020-02-26 17:46:00 -08:00
{
2024-01-03 03:08:16 -08:00
displayName : 'Put Output File in Field' ,
2020-02-26 17:46:00 -08:00
name : 'dataBinaryProperty' ,
type : 'string' ,
required : true ,
default : 'data' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'message' ] ,
operation : [ 'updateFile' ] ,
2020-02-26 17:46:00 -08:00
} ,
} ,
2024-01-03 03:08:16 -08:00
hint : 'The name of the output binary field to put the file in' ,
2020-02-26 17:46:00 -08:00
} ,
2021-12-03 00:44:16 -08:00
] ;