2023-01-27 03:22:44 -08:00
import type { INodeProperties } from 'n8n-workflow' ;
2020-03-08 15:22:33 -07:00
2021-12-03 00:44:16 -08:00
export const starOperations : INodeProperties [ ] = [
2020-03-08 15:22:33 -07:00
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
2022-05-20 14:47:24 -07:00
noDataExpression : true ,
2020-03-08 15:22:33 -07:00
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'star' ] ,
2020-03-08 15:22:33 -07:00
} ,
} ,
options : [
{
name : 'Add' ,
value : 'add' ,
2022-05-06 14:01:25 -07:00
description : 'Add a star to an item' ,
2022-07-10 13:50:51 -07:00
action : 'Add a star' ,
2020-03-08 15:22:33 -07:00
} ,
{
name : 'Delete' ,
value : 'delete' ,
2022-05-06 14:01:25 -07:00
description : 'Delete a star from an item' ,
2022-07-10 13:50:51 -07:00
action : 'Delete a star' ,
2020-03-08 15:22:33 -07:00
} ,
{
2022-09-07 07:51:14 -07:00
name : 'Get Many' ,
2020-03-08 15:22:33 -07:00
value : 'getAll' ,
2022-09-13 03:36:36 -07:00
description : 'Get many stars of autenticated user' ,
2022-09-08 08:10:13 -07:00
action : 'Get many stars' ,
2020-03-08 15:22:33 -07:00
} ,
] ,
default : 'add' ,
} ,
2021-12-03 00:44:16 -08:00
] ;
2020-03-08 15:22:33 -07:00
2021-12-03 00:44:16 -08:00
export const starFields : INodeProperties [ ] = [
2020-12-13 01:47:52 -08:00
/* -------------------------------------------------------------------------- */
/* star:add */
/* -------------------------------------------------------------------------- */
2020-03-08 15:22:33 -07:00
{
2023-02-03 08:04:37 -08:00
displayName : 'Item to Add Star' ,
name : 'target' ,
type : 'options' ,
required : true ,
description : 'Choose whether to add a star to a message or a file' ,
default : '' ,
placeholder : 'Select...' ,
2020-03-08 15:22:33 -07:00
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'add' ] ,
resource : [ 'star' ] ,
2020-03-08 15:22:33 -07:00
} ,
} ,
options : [
{
2023-02-03 08:04:37 -08:00
name : 'Message' ,
value : 'message' ,
} ,
{
name : 'File' ,
value : 'file' ,
} ,
] ,
} ,
{
displayName : 'Channel' ,
name : 'channelId' ,
type : 'resourceLocator' ,
default : { mode : 'list' , value : '' } ,
placeholder : 'Select a channel...' ,
description : 'The Slack channel to add a star to' ,
displayOptions : {
show : {
resource : [ 'star' ] ,
operation : [ 'add' ] ,
target : [ 'message' , 'file' ] ,
} ,
} ,
modes : [
{
displayName : 'From List' ,
name : 'list' ,
type : 'list' ,
placeholder : 'Select a channel...' ,
2020-03-15 07:51:49 -07:00
typeOptions : {
2023-02-03 08:04:37 -08:00
searchListMethod : 'getChannels' ,
searchable : true ,
2020-03-15 07:51:49 -07:00
} ,
2020-03-08 15:22:33 -07:00
} ,
{
2023-02-03 08:04:37 -08:00
displayName : 'By ID' ,
name : 'id' ,
2020-03-08 15:22:33 -07:00
type : 'string' ,
2023-02-03 08:04:37 -08:00
validation : [
{
type : 'regex' ,
properties : {
regex : '[a-zA-Z0-9]{2,}' ,
errorMessage : 'Not a valid Slack Channel ID' ,
} ,
} ,
] ,
placeholder : 'C0122KQ70S7E' ,
2020-03-08 15:22:33 -07:00
} ,
{
2023-02-03 08:04:37 -08:00
displayName : 'By URL' ,
name : 'url' ,
2020-03-08 15:22:33 -07:00
type : 'string' ,
2023-02-03 08:04:37 -08:00
placeholder : 'https://app.slack.com/client/TS9594PZK/B0556F47Z3A' ,
validation : [
{
type : 'regex' ,
properties : {
regex : 'http(s)?://app.slack.com/client/.*/([a-zA-Z0-9]{2,})' ,
errorMessage : 'Not a valid Slack Channel URL' ,
} ,
} ,
] ,
extractValue : {
type : 'regex' ,
regex : 'https://app.slack.com/client/.*/([a-zA-Z0-9]{2,})' ,
} ,
2020-03-08 15:22:33 -07:00
} ,
2023-02-03 08:04:37 -08:00
] ,
} ,
{
displayName : 'File ID' ,
name : 'fileId' ,
type : 'string' ,
default : '' ,
displayOptions : {
show : {
resource : [ 'star' ] ,
operation : [ 'add' ] ,
target : [ 'file' ] ,
} ,
} ,
description : 'File to add star to' ,
} ,
{
displayName : 'Message Timestamp' ,
name : 'timestamp' ,
type : 'number' ,
default : undefined ,
displayOptions : {
show : {
resource : [ 'star' ] ,
operation : [ 'add' ] ,
target : [ 'message' ] ,
} ,
} ,
description : 'Timestamp of the message to add' ,
placeholder : '1663233118.856619' ,
} ,
{
displayName : 'Options' ,
name : 'options' ,
type : 'collection' ,
displayOptions : {
show : {
operation : [ 'add' ] ,
resource : [ 'star' ] ,
} ,
} ,
default : { } ,
description : 'Options to set' ,
placeholder : 'Add options' ,
options : [
2020-03-08 15:22:33 -07:00
{
2023-02-03 08:04:37 -08:00
displayName : 'File Comment' ,
name : 'fileComment' ,
2020-03-08 15:22:33 -07:00
type : 'string' ,
default : '' ,
2023-02-03 08:04:37 -08:00
description : 'File comment to add star to' ,
2020-03-08 15:22:33 -07:00
} ,
] ,
} ,
2020-12-13 01:47:52 -08:00
/* ----------------------------------------------------------------------- */
/* star:delete */
/* ----------------------------------------------------------------------- */
2020-03-08 15:22:33 -07:00
{
displayName : 'Options' ,
name : 'options' ,
type : 'collection' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
operation : [ 'delete' ] ,
resource : [ 'star' ] ,
2020-03-08 15:22:33 -07:00
} ,
} ,
default : { } ,
description : 'Options to set' ,
placeholder : 'Add options' ,
options : [
{
2022-06-03 10:23:49 -07:00
displayName : 'Channel Name or ID' ,
2020-03-08 15:22:33 -07:00
name : 'channelId' ,
2020-03-15 07:51:49 -07:00
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getChannels' ,
} ,
2020-03-08 15:22:33 -07:00
default : '' ,
2022-08-17 08:50:24 -07:00
description :
'Channel to add star to, or channel where the message to add star to was posted (used with timestamp). Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code-examples/expressions/">expression</a>.' ,
2020-03-08 15:22:33 -07:00
} ,
{
displayName : 'File ID' ,
name : 'fileId' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'File to add star to' ,
2020-03-08 15:22:33 -07:00
} ,
{
displayName : 'File Comment' ,
name : 'fileComment' ,
type : 'string' ,
default : '' ,
2022-05-06 14:01:25 -07:00
description : 'File comment to add star to' ,
2020-03-08 15:22:33 -07:00
} ,
{
2023-02-03 08:04:37 -08:00
displayName : 'Message Timestamp' ,
2020-03-08 15:22:33 -07:00
name : 'timestamp' ,
2023-02-03 08:04:37 -08:00
type : 'number' ,
default : 0 ,
description : 'Timestamp of the message to delete' ,
placeholder : '1663233118.856619' ,
2020-03-08 15:22:33 -07:00
} ,
] ,
} ,
2020-12-13 01:47:52 -08:00
/* -------------------------------------------------------------------------- */
/* star:getAll */
/* -------------------------------------------------------------------------- */
2020-03-08 15:22:33 -07:00
{
displayName : 'Return All' ,
name : 'returnAll' ,
type : 'boolean' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'star' ] ,
operation : [ 'getAll' ] ,
2020-03-08 15:22:33 -07:00
} ,
} ,
default : false ,
2022-05-06 14:01:25 -07:00
description : 'Whether to return all results or only up to a given limit' ,
2020-03-08 15:22:33 -07:00
} ,
{
displayName : 'Limit' ,
name : 'limit' ,
type : 'number' ,
displayOptions : {
show : {
2022-08-17 08:50:24 -07:00
resource : [ 'star' ] ,
operation : [ 'getAll' ] ,
returnAll : [ false ] ,
2020-03-08 15:22:33 -07:00
} ,
} ,
typeOptions : {
minValue : 1 ,
maxValue : 100 ,
} ,
default : 50 ,
2022-05-06 14:01:25 -07:00
description : 'Max number of results to return' ,
2020-03-08 15:22:33 -07:00
} ,
2021-12-03 00:44:16 -08:00
] ;