2020-12-10 02:09:38 -08:00
import {
INodeProperties ,
} from 'n8n-workflow' ;
2021-12-03 00:44:16 -08:00
export const channelOperations : INodeProperties [ ] = [
2020-12-10 02:09:38 -08:00
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
2022-05-20 14:47:24 -07:00
noDataExpression : true ,
2020-12-10 02:09:38 -08:00
displayOptions : {
show : {
resource : [
'channel' ,
] ,
} ,
} ,
options : [
2021-04-30 17:44:12 -07:00
{
name : 'Archive' ,
value : 'archive' ,
description : 'Archive a channel' ,
} ,
2020-12-10 02:09:38 -08:00
{
name : 'Create' ,
value : 'create' ,
description : 'Initiates a public or private channel-based conversation' ,
} ,
2021-04-30 17:44:12 -07:00
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete a channel' ,
} ,
2020-12-10 02:09:38 -08:00
{
name : 'Get' ,
value : 'get' ,
description : 'Get information about a channel' ,
} ,
{
name : 'Get All' ,
value : 'getAll' ,
description : 'Get all channels' ,
} ,
2021-04-30 17:44:12 -07:00
{
name : 'Unarchive' ,
value : 'unarchive' ,
description : 'Unarchive a channel' ,
} ,
2020-12-10 02:09:38 -08:00
{
name : 'Update' ,
value : 'update' ,
description : 'Update a channel' ,
} ,
] ,
default : 'create' ,
} ,
2021-12-03 00:44:16 -08:00
] ;
2020-12-10 02:09:38 -08:00
2021-12-03 00:44:16 -08:00
export const channelFields : INodeProperties [ ] = [
2020-12-10 02:09:38 -08:00
/*-------------------------------------------------------------------------- */
/* channel:create */
/* ------------------------------------------------------------------------- */
{
2022-06-03 10:23:49 -07:00
displayName : 'Workspace Name or ID' ,
2020-12-10 02:09:38 -08:00
name : 'workspaceId' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getWorkspaces' ,
} ,
default : '' ,
displayOptions : {
show : {
operation : [
'create' ,
] ,
resource : [
'channel' ,
] ,
} ,
} ,
required : true ,
2022-06-03 10:23:49 -07:00
description : 'The ID of the workspace. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
operation : [
'create' ,
] ,
resource : [
'channel' ,
] ,
} ,
} ,
required : true ,
2022-05-06 14:01:25 -07:00
description : 'The name of the channel' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'channel' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
options : [
{
displayName : 'Color' ,
name : 'color' ,
type : 'options' ,
options : [
{
name : 'Berry Red' ,
value : 6 ,
} ,
{
name : 'Blue' ,
value : 1 ,
} ,
{
name : 'Green' ,
value : 4 ,
} ,
{
name : 'Grey' ,
value : 0 ,
} ,
{
name : 'Magenta' ,
value : 7 ,
} ,
{
name : 'Mint Green' ,
value : 9 ,
} ,
{
name : 'Red' ,
value : 5 ,
} ,
{
name : 'Salmon' ,
value : 11 ,
} ,
{
name : 'Sky Blue' ,
value : 8 ,
} ,
{
name : 'Teal Blue' ,
value : 3 ,
} ,
{
name : 'Turquoise' ,
value : 2 ,
} ,
{
name : 'Yellow' ,
value : 10 ,
} ,
] ,
default : 0 ,
2022-05-06 14:01:25 -07:00
description : 'The color of the channel' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Description' ,
name : 'description' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'The description of the channel' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Public' ,
name : 'public' ,
type : 'boolean' ,
default : false ,
2022-06-20 07:54:01 -07:00
description : 'Whether the channel will be marked as public' ,
2020-12-10 02:09:38 -08:00
} ,
2022-04-22 09:29:51 -07:00
// eslint-disable-next-line n8n-nodes-base/node-param-default-missing
2020-12-10 02:09:38 -08:00
{
displayName : 'Temp ID' ,
name : 'temp_id' ,
type : 'number' ,
default : - 1 ,
2021-04-30 17:44:12 -07:00
description : 'The temporary ID of the channel. It needs to be a negative number.' ,
2020-12-10 02:09:38 -08:00
} ,
{
2022-06-20 07:54:01 -07:00
displayName : 'User Names or IDs' ,
2020-12-10 02:09:38 -08:00
name : 'user_ids' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsMethod : 'getUsers' ,
loadOptionsDependsOn : [
'workspaceId' ,
] ,
} ,
default : [ ] ,
2022-06-20 07:54:01 -07:00
description : 'The users that will participate in the channel. Choose from the list, or specify IDs using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2020-12-10 02:09:38 -08:00
} ,
] ,
} ,
2021-04-30 17:44:12 -07:00
2020-12-10 02:09:38 -08:00
/* -------------------------------------------------------------------------- */
2021-04-30 17:44:12 -07:00
/* channel:get/archive/unarchive/delete */
2020-12-10 02:09:38 -08:00
/* -------------------------------------------------------------------------- */
{
displayName : 'Channel ID' ,
name : 'channelId' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
operation : [
2021-04-30 17:44:12 -07:00
'archive' ,
'delete' ,
2020-12-10 02:09:38 -08:00
'get' ,
2021-04-30 17:44:12 -07:00
'unarchive' ,
2020-12-10 02:09:38 -08:00
] ,
resource : [
'channel' ,
] ,
} ,
} ,
required : true ,
2022-05-06 14:01:25 -07:00
description : 'The ID of the channel' ,
2020-12-10 02:09:38 -08:00
} ,
2021-04-30 17:44:12 -07:00
2020-12-10 02:09:38 -08:00
/* -------------------------------------------------------------------------- */
/* channel:getAll */
/* -------------------------------------------------------------------------- */
{
2022-06-03 10:23:49 -07:00
displayName : 'Workspace Name or ID' ,
2020-12-10 02:09:38 -08:00
name : 'workspaceId' ,
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getWorkspaces' ,
} ,
default : '' ,
displayOptions : {
show : {
operation : [
'getAll' ,
] ,
resource : [
'channel' ,
] ,
} ,
} ,
required : true ,
2022-06-03 10:23:49 -07:00
description : 'The ID of the workspace. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Return All' ,
name : 'returnAll' ,
type : 'boolean' ,
displayOptions : {
show : {
resource : [
'channel' ,
] ,
operation : [
'getAll' ,
] ,
} ,
} ,
default : false ,
2022-05-06 14:01:25 -07:00
description : 'Whether to return all results or only up to a given limit' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Limit' ,
name : 'limit' ,
type : 'number' ,
displayOptions : {
show : {
resource : [
'channel' ,
] ,
operation : [
'getAll' ,
] ,
returnAll : [
false ,
] ,
} ,
} ,
typeOptions : {
minValue : 1 ,
maxValue : 100 ,
} ,
default : 50 ,
2022-05-06 14:01:25 -07:00
description : 'Max number of results to return' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Filters' ,
name : 'filters' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'channel' ,
] ,
operation : [
'getAll' ,
] ,
} ,
} ,
options : [
{
displayName : 'Archived' ,
name : 'archived' ,
type : 'boolean' ,
default : false ,
2022-06-20 07:54:01 -07:00
description : 'Whether only archived conversations are returned' ,
2020-12-10 02:09:38 -08:00
} ,
] ,
} ,
/* -------------------------------------------------------------------------- */
/* channel:update */
/* -------------------------------------------------------------------------- */
{
displayName : 'Channel ID' ,
name : 'channelId' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
operation : [
'update' ,
] ,
resource : [
'channel' ,
] ,
} ,
} ,
required : true ,
2022-05-06 14:01:25 -07:00
description : 'The ID of the channel' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Update Fields' ,
name : 'updateFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'channel' ,
] ,
operation : [
'update' ,
] ,
} ,
} ,
options : [
{
displayName : 'Color' ,
name : 'color' ,
type : 'options' ,
options : [
{
name : 'Berry Red' ,
value : 6 ,
} ,
{
name : 'Blue' ,
value : 1 ,
} ,
{
name : 'Green' ,
value : 4 ,
} ,
{
name : 'Grey' ,
value : 0 ,
} ,
{
name : 'Magenta' ,
value : 7 ,
} ,
{
name : 'Mint Green' ,
value : 9 ,
} ,
{
name : 'Red' ,
value : 5 ,
} ,
{
name : 'Salmon' ,
value : 11 ,
} ,
{
name : 'Sky Blue' ,
value : 8 ,
} ,
{
name : 'Teal Blue' ,
value : 3 ,
} ,
{
name : 'Turquoise' ,
value : 2 ,
} ,
{
name : 'Yellow' ,
value : 10 ,
} ,
] ,
default : 0 ,
2022-05-06 14:01:25 -07:00
description : 'The color of the channel' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Description' ,
name : 'description' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'The description of the channel' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Name' ,
name : 'name' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'The name of the channel' ,
2020-12-10 02:09:38 -08:00
} ,
{
displayName : 'Public' ,
name : 'public' ,
type : 'boolean' ,
default : false ,
2022-06-20 07:54:01 -07:00
description : 'Whether the channel will be marked as public' ,
2020-12-10 02:09:38 -08:00
} ,
] ,
} ,
2021-12-03 00:44:16 -08:00
] ;