mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-11 21:07:28 -08:00
👕 Fix lint issue
This commit is contained in:
parent
5b7efd67ca
commit
40c2acd77b
|
@ -10,8 +10,8 @@ import * as config from '../config';
|
||||||
import {
|
import {
|
||||||
ActiveExecutions,
|
ActiveExecutions,
|
||||||
ActiveWorkflowRunner,
|
ActiveWorkflowRunner,
|
||||||
CredentialTypes,
|
|
||||||
CredentialsOverwrites,
|
CredentialsOverwrites,
|
||||||
|
CredentialTypes,
|
||||||
Db,
|
Db,
|
||||||
ExternalHooks,
|
ExternalHooks,
|
||||||
GenericHelpers,
|
GenericHelpers,
|
||||||
|
|
|
@ -10,58 +10,58 @@ const config = convict({
|
||||||
doc: 'Type of database to use',
|
doc: 'Type of database to use',
|
||||||
format: ['sqlite', 'mariadb', 'mongodb', 'mysqldb', 'postgresdb'],
|
format: ['sqlite', 'mariadb', 'mongodb', 'mysqldb', 'postgresdb'],
|
||||||
default: 'sqlite',
|
default: 'sqlite',
|
||||||
env: 'DB_TYPE'
|
env: 'DB_TYPE',
|
||||||
},
|
},
|
||||||
mongodb: {
|
mongodb: {
|
||||||
connectionUrl: {
|
connectionUrl: {
|
||||||
doc: 'MongoDB Connection URL',
|
doc: 'MongoDB Connection URL',
|
||||||
format: '*',
|
format: '*',
|
||||||
default: 'mongodb://user:password@localhost:27017/database',
|
default: 'mongodb://user:password@localhost:27017/database',
|
||||||
env: 'DB_MONGODB_CONNECTION_URL'
|
env: 'DB_MONGODB_CONNECTION_URL',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
tablePrefix: {
|
tablePrefix: {
|
||||||
doc: 'Prefix for table names',
|
doc: 'Prefix for table names',
|
||||||
format: '*',
|
format: '*',
|
||||||
default: '',
|
default: '',
|
||||||
env: 'DB_TABLE_PREFIX'
|
env: 'DB_TABLE_PREFIX',
|
||||||
},
|
},
|
||||||
postgresdb: {
|
postgresdb: {
|
||||||
database: {
|
database: {
|
||||||
doc: 'PostgresDB Database',
|
doc: 'PostgresDB Database',
|
||||||
format: String,
|
format: String,
|
||||||
default: 'n8n',
|
default: 'n8n',
|
||||||
env: 'DB_POSTGRESDB_DATABASE'
|
env: 'DB_POSTGRESDB_DATABASE',
|
||||||
},
|
},
|
||||||
host: {
|
host: {
|
||||||
doc: 'PostgresDB Host',
|
doc: 'PostgresDB Host',
|
||||||
format: String,
|
format: String,
|
||||||
default: 'localhost',
|
default: 'localhost',
|
||||||
env: 'DB_POSTGRESDB_HOST'
|
env: 'DB_POSTGRESDB_HOST',
|
||||||
},
|
},
|
||||||
password: {
|
password: {
|
||||||
doc: 'PostgresDB Password',
|
doc: 'PostgresDB Password',
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'DB_POSTGRESDB_PASSWORD'
|
env: 'DB_POSTGRESDB_PASSWORD',
|
||||||
},
|
},
|
||||||
port: {
|
port: {
|
||||||
doc: 'PostgresDB Port',
|
doc: 'PostgresDB Port',
|
||||||
format: Number,
|
format: Number,
|
||||||
default: 5432,
|
default: 5432,
|
||||||
env: 'DB_POSTGRESDB_PORT'
|
env: 'DB_POSTGRESDB_PORT',
|
||||||
},
|
},
|
||||||
user: {
|
user: {
|
||||||
doc: 'PostgresDB User',
|
doc: 'PostgresDB User',
|
||||||
format: String,
|
format: String,
|
||||||
default: 'root',
|
default: 'root',
|
||||||
env: 'DB_POSTGRESDB_USER'
|
env: 'DB_POSTGRESDB_USER',
|
||||||
},
|
},
|
||||||
schema: {
|
schema: {
|
||||||
doc: 'PostgresDB Schema',
|
doc: 'PostgresDB Schema',
|
||||||
format: String,
|
format: String,
|
||||||
default: 'public',
|
default: 'public',
|
||||||
env: 'DB_POSTGRESDB_SCHEMA'
|
env: 'DB_POSTGRESDB_SCHEMA',
|
||||||
},
|
},
|
||||||
|
|
||||||
ssl: {
|
ssl: {
|
||||||
|
@ -89,7 +89,7 @@ const config = convict({
|
||||||
default: true,
|
default: true,
|
||||||
env: 'DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED',
|
env: 'DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED',
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
mysqldb: {
|
mysqldb: {
|
||||||
|
@ -97,31 +97,31 @@ const config = convict({
|
||||||
doc: 'MySQL Database',
|
doc: 'MySQL Database',
|
||||||
format: String,
|
format: String,
|
||||||
default: 'n8n',
|
default: 'n8n',
|
||||||
env: 'DB_MYSQLDB_DATABASE'
|
env: 'DB_MYSQLDB_DATABASE',
|
||||||
},
|
},
|
||||||
host: {
|
host: {
|
||||||
doc: 'MySQL Host',
|
doc: 'MySQL Host',
|
||||||
format: String,
|
format: String,
|
||||||
default: 'localhost',
|
default: 'localhost',
|
||||||
env: 'DB_MYSQLDB_HOST'
|
env: 'DB_MYSQLDB_HOST',
|
||||||
},
|
},
|
||||||
password: {
|
password: {
|
||||||
doc: 'MySQL Password',
|
doc: 'MySQL Password',
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'DB_MYSQLDB_PASSWORD'
|
env: 'DB_MYSQLDB_PASSWORD',
|
||||||
},
|
},
|
||||||
port: {
|
port: {
|
||||||
doc: 'MySQL Port',
|
doc: 'MySQL Port',
|
||||||
format: Number,
|
format: Number,
|
||||||
default: 3306,
|
default: 3306,
|
||||||
env: 'DB_MYSQLDB_PORT'
|
env: 'DB_MYSQLDB_PORT',
|
||||||
},
|
},
|
||||||
user: {
|
user: {
|
||||||
doc: 'MySQL User',
|
doc: 'MySQL User',
|
||||||
format: String,
|
format: String,
|
||||||
default: 'root',
|
default: 'root',
|
||||||
env: 'DB_MYSQLDB_USER'
|
env: 'DB_MYSQLDB_USER',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -136,7 +136,7 @@ const config = convict({
|
||||||
doc: 'Overwrites for credentials',
|
doc: 'Overwrites for credentials',
|
||||||
format: '*',
|
format: '*',
|
||||||
default: '{}',
|
default: '{}',
|
||||||
env: 'CREDENTIALS_OVERWRITE_DATA'
|
env: 'CREDENTIALS_OVERWRITE_DATA',
|
||||||
},
|
},
|
||||||
endpoint: {
|
endpoint: {
|
||||||
doc: 'Fetch credentials from API',
|
doc: 'Fetch credentials from API',
|
||||||
|
@ -156,7 +156,7 @@ const config = convict({
|
||||||
doc: 'In what process workflows should be executed',
|
doc: 'In what process workflows should be executed',
|
||||||
format: ['main', 'own'],
|
format: ['main', 'own'],
|
||||||
default: 'own',
|
default: 'own',
|
||||||
env: 'EXECUTIONS_PROCESS'
|
env: 'EXECUTIONS_PROCESS',
|
||||||
},
|
},
|
||||||
|
|
||||||
// A Workflow times out and gets canceled after this time (seconds).
|
// A Workflow times out and gets canceled after this time (seconds).
|
||||||
|
@ -174,13 +174,13 @@ const config = convict({
|
||||||
doc: 'Max run time (seconds) before stopping the workflow execution',
|
doc: 'Max run time (seconds) before stopping the workflow execution',
|
||||||
format: Number,
|
format: Number,
|
||||||
default: -1,
|
default: -1,
|
||||||
env: 'EXECUTIONS_TIMEOUT'
|
env: 'EXECUTIONS_TIMEOUT',
|
||||||
},
|
},
|
||||||
maxTimeout: {
|
maxTimeout: {
|
||||||
doc: 'Max execution time (seconds) that can be set for a workflow individually',
|
doc: 'Max execution time (seconds) that can be set for a workflow individually',
|
||||||
format: Number,
|
format: Number,
|
||||||
default: 3600,
|
default: 3600,
|
||||||
env: 'EXECUTIONS_TIMEOUT_MAX'
|
env: 'EXECUTIONS_TIMEOUT_MAX',
|
||||||
},
|
},
|
||||||
|
|
||||||
// If a workflow executes all the data gets saved by default. This
|
// If a workflow executes all the data gets saved by default. This
|
||||||
|
@ -193,13 +193,13 @@ const config = convict({
|
||||||
doc: 'What workflow execution data to save on error',
|
doc: 'What workflow execution data to save on error',
|
||||||
format: ['all', 'none'],
|
format: ['all', 'none'],
|
||||||
default: 'all',
|
default: 'all',
|
||||||
env: 'EXECUTIONS_DATA_SAVE_ON_ERROR'
|
env: 'EXECUTIONS_DATA_SAVE_ON_ERROR',
|
||||||
},
|
},
|
||||||
saveDataOnSuccess: {
|
saveDataOnSuccess: {
|
||||||
doc: 'What workflow execution data to save on success',
|
doc: 'What workflow execution data to save on success',
|
||||||
format: ['all', 'none'],
|
format: ['all', 'none'],
|
||||||
default: 'all',
|
default: 'all',
|
||||||
env: 'EXECUTIONS_DATA_SAVE_ON_SUCCESS'
|
env: 'EXECUTIONS_DATA_SAVE_ON_SUCCESS',
|
||||||
},
|
},
|
||||||
|
|
||||||
// If the executions of workflows which got started via the editor
|
// If the executions of workflows which got started via the editor
|
||||||
|
@ -211,7 +211,7 @@ const config = convict({
|
||||||
doc: 'Save data of executions when started manually via editor',
|
doc: 'Save data of executions when started manually via editor',
|
||||||
format: 'Boolean',
|
format: 'Boolean',
|
||||||
default: false,
|
default: false,
|
||||||
env: 'EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS'
|
env: 'EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS',
|
||||||
},
|
},
|
||||||
|
|
||||||
// To not exceed the database's capacity and keep its size moderate
|
// To not exceed the database's capacity and keep its size moderate
|
||||||
|
@ -223,19 +223,19 @@ const config = convict({
|
||||||
doc: 'Delete data of past executions on a rolling basis',
|
doc: 'Delete data of past executions on a rolling basis',
|
||||||
format: 'Boolean',
|
format: 'Boolean',
|
||||||
default: false,
|
default: false,
|
||||||
env: 'EXECUTIONS_DATA_PRUNE'
|
env: 'EXECUTIONS_DATA_PRUNE',
|
||||||
},
|
},
|
||||||
pruneDataMaxAge: {
|
pruneDataMaxAge: {
|
||||||
doc: 'How old (hours) the execution data has to be to get deleted',
|
doc: 'How old (hours) the execution data has to be to get deleted',
|
||||||
format: Number,
|
format: Number,
|
||||||
default: 336,
|
default: 336,
|
||||||
env: 'EXECUTIONS_DATA_MAX_AGE'
|
env: 'EXECUTIONS_DATA_MAX_AGE',
|
||||||
},
|
},
|
||||||
pruneDataTimeout: {
|
pruneDataTimeout: {
|
||||||
doc: 'Timeout (seconds) after execution data has been pruned',
|
doc: 'Timeout (seconds) after execution data has been pruned',
|
||||||
format: Number,
|
format: Number,
|
||||||
default: 3600,
|
default: 3600,
|
||||||
env: 'EXECUTIONS_DATA_PRUNE_TIMEOUT'
|
env: 'EXECUTIONS_DATA_PRUNE_TIMEOUT',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ const config = convict({
|
||||||
doc: 'The timezone to use',
|
doc: 'The timezone to use',
|
||||||
format: '*',
|
format: '*',
|
||||||
default: 'America/New_York',
|
default: 'America/New_York',
|
||||||
env: 'GENERIC_TIMEZONE'
|
env: 'GENERIC_TIMEZONE',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -258,45 +258,45 @@ const config = convict({
|
||||||
default: '/',
|
default: '/',
|
||||||
arg: 'path',
|
arg: 'path',
|
||||||
env: 'N8N_PATH',
|
env: 'N8N_PATH',
|
||||||
doc: 'Path n8n is deployed to'
|
doc: 'Path n8n is deployed to',
|
||||||
},
|
},
|
||||||
host: {
|
host: {
|
||||||
format: String,
|
format: String,
|
||||||
default: 'localhost',
|
default: 'localhost',
|
||||||
arg: 'host',
|
arg: 'host',
|
||||||
env: 'N8N_HOST',
|
env: 'N8N_HOST',
|
||||||
doc: 'Host name n8n can be reached'
|
doc: 'Host name n8n can be reached',
|
||||||
},
|
},
|
||||||
port: {
|
port: {
|
||||||
format: Number,
|
format: Number,
|
||||||
default: 5678,
|
default: 5678,
|
||||||
arg: 'port',
|
arg: 'port',
|
||||||
env: 'N8N_PORT',
|
env: 'N8N_PORT',
|
||||||
doc: 'HTTP port n8n can be reached'
|
doc: 'HTTP port n8n can be reached',
|
||||||
},
|
},
|
||||||
listen_address: {
|
listen_address: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '0.0.0.0',
|
default: '0.0.0.0',
|
||||||
env: 'N8N_LISTEN_ADDRESS',
|
env: 'N8N_LISTEN_ADDRESS',
|
||||||
doc: 'IP address n8n should listen on'
|
doc: 'IP address n8n should listen on',
|
||||||
},
|
},
|
||||||
protocol: {
|
protocol: {
|
||||||
format: ['http', 'https'],
|
format: ['http', 'https'],
|
||||||
default: 'http',
|
default: 'http',
|
||||||
env: 'N8N_PROTOCOL',
|
env: 'N8N_PROTOCOL',
|
||||||
doc: 'HTTP Protocol via which n8n can be reached'
|
doc: 'HTTP Protocol via which n8n can be reached',
|
||||||
},
|
},
|
||||||
ssl_key: {
|
ssl_key: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_SSL_KEY',
|
env: 'N8N_SSL_KEY',
|
||||||
doc: 'SSL Key for HTTPS Protocol'
|
doc: 'SSL Key for HTTPS Protocol',
|
||||||
},
|
},
|
||||||
ssl_cert: {
|
ssl_cert: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_SSL_CERT',
|
env: 'N8N_SSL_CERT',
|
||||||
doc: 'SSL Cert for HTTPS Protocol'
|
doc: 'SSL Cert for HTTPS Protocol',
|
||||||
},
|
},
|
||||||
|
|
||||||
security: {
|
security: {
|
||||||
|
@ -304,82 +304,82 @@ const config = convict({
|
||||||
doc: 'Additional endpoints to exclude auth checks. Multiple endpoints can be separated by colon (":")',
|
doc: 'Additional endpoints to exclude auth checks. Multiple endpoints can be separated by colon (":")',
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_AUTH_EXCLUDE_ENDPOINTS'
|
env: 'N8N_AUTH_EXCLUDE_ENDPOINTS',
|
||||||
},
|
},
|
||||||
basicAuth: {
|
basicAuth: {
|
||||||
active: {
|
active: {
|
||||||
format: 'Boolean',
|
format: 'Boolean',
|
||||||
default: false,
|
default: false,
|
||||||
env: 'N8N_BASIC_AUTH_ACTIVE',
|
env: 'N8N_BASIC_AUTH_ACTIVE',
|
||||||
doc: 'If basic auth should be activated for editor and REST-API'
|
doc: 'If basic auth should be activated for editor and REST-API',
|
||||||
},
|
},
|
||||||
user: {
|
user: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_BASIC_AUTH_USER',
|
env: 'N8N_BASIC_AUTH_USER',
|
||||||
doc: 'The name of the basic auth user'
|
doc: 'The name of the basic auth user',
|
||||||
},
|
},
|
||||||
password: {
|
password: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_BASIC_AUTH_PASSWORD',
|
env: 'N8N_BASIC_AUTH_PASSWORD',
|
||||||
doc: 'The password of the basic auth user'
|
doc: 'The password of the basic auth user',
|
||||||
},
|
},
|
||||||
hash: {
|
hash: {
|
||||||
format: 'Boolean',
|
format: 'Boolean',
|
||||||
default: false,
|
default: false,
|
||||||
env: 'N8N_BASIC_AUTH_HASH',
|
env: 'N8N_BASIC_AUTH_HASH',
|
||||||
doc: 'If password for basic auth is hashed'
|
doc: 'If password for basic auth is hashed',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
jwtAuth: {
|
jwtAuth: {
|
||||||
active: {
|
active: {
|
||||||
format: 'Boolean',
|
format: 'Boolean',
|
||||||
default: false,
|
default: false,
|
||||||
env: 'N8N_JWT_AUTH_ACTIVE',
|
env: 'N8N_JWT_AUTH_ACTIVE',
|
||||||
doc: 'If JWT auth should be activated for editor and REST-API'
|
doc: 'If JWT auth should be activated for editor and REST-API',
|
||||||
},
|
},
|
||||||
jwtHeader: {
|
jwtHeader: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_JWT_AUTH_HEADER',
|
env: 'N8N_JWT_AUTH_HEADER',
|
||||||
doc: 'The request header containing a signed JWT'
|
doc: 'The request header containing a signed JWT',
|
||||||
},
|
},
|
||||||
jwtHeaderValuePrefix: {
|
jwtHeaderValuePrefix: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_JWT_AUTH_HEADER_VALUE_PREFIX',
|
env: 'N8N_JWT_AUTH_HEADER_VALUE_PREFIX',
|
||||||
doc: 'The request header value prefix to strip (optional)'
|
doc: 'The request header value prefix to strip (optional)',
|
||||||
},
|
},
|
||||||
jwksUri: {
|
jwksUri: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_JWKS_URI',
|
env: 'N8N_JWKS_URI',
|
||||||
doc: 'The URI to fetch JWK Set for JWT authentication'
|
doc: 'The URI to fetch JWK Set for JWT authentication',
|
||||||
},
|
},
|
||||||
jwtIssuer: {
|
jwtIssuer: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_JWT_ISSUER',
|
env: 'N8N_JWT_ISSUER',
|
||||||
doc: 'JWT issuer to expect (optional)'
|
doc: 'JWT issuer to expect (optional)',
|
||||||
},
|
},
|
||||||
jwtNamespace: {
|
jwtNamespace: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_JWT_NAMESPACE',
|
env: 'N8N_JWT_NAMESPACE',
|
||||||
doc: 'JWT namespace to expect (optional)'
|
doc: 'JWT namespace to expect (optional)',
|
||||||
},
|
},
|
||||||
jwtAllowedTenantKey: {
|
jwtAllowedTenantKey: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_JWT_ALLOWED_TENANT_KEY',
|
env: 'N8N_JWT_ALLOWED_TENANT_KEY',
|
||||||
doc: 'JWT tenant key name to inspect within JWT namespace (optional)'
|
doc: 'JWT tenant key name to inspect within JWT namespace (optional)',
|
||||||
},
|
},
|
||||||
jwtAllowedTenant: {
|
jwtAllowedTenant: {
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'N8N_JWT_ALLOWED_TENANT',
|
env: 'N8N_JWT_ALLOWED_TENANT',
|
||||||
doc: 'JWT tenant to allow (optional)'
|
doc: 'JWT tenant to allow (optional)',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -389,19 +389,19 @@ const config = convict({
|
||||||
format: String,
|
format: String,
|
||||||
default: 'rest',
|
default: 'rest',
|
||||||
env: 'N8N_ENDPOINT_REST',
|
env: 'N8N_ENDPOINT_REST',
|
||||||
doc: 'Path for rest endpoint'
|
doc: 'Path for rest endpoint',
|
||||||
},
|
},
|
||||||
webhook: {
|
webhook: {
|
||||||
format: String,
|
format: String,
|
||||||
default: 'webhook',
|
default: 'webhook',
|
||||||
env: 'N8N_ENDPOINT_WEBHOOK',
|
env: 'N8N_ENDPOINT_WEBHOOK',
|
||||||
doc: 'Path for webhook endpoint'
|
doc: 'Path for webhook endpoint',
|
||||||
},
|
},
|
||||||
webhookTest: {
|
webhookTest: {
|
||||||
format: String,
|
format: String,
|
||||||
default: 'webhook-test',
|
default: 'webhook-test',
|
||||||
env: 'N8N_ENDPOINT_WEBHOOK_TEST',
|
env: 'N8N_ENDPOINT_WEBHOOK_TEST',
|
||||||
doc: 'Path for test-webhook endpoint'
|
doc: 'Path for test-webhook endpoint',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -409,7 +409,7 @@ const config = convict({
|
||||||
doc: 'Files containing external hooks. Multiple files can be separated by colon (":")',
|
doc: 'Files containing external hooks. Multiple files can be separated by colon (":")',
|
||||||
format: String,
|
format: String,
|
||||||
default: '',
|
default: '',
|
||||||
env: 'EXTERNAL_HOOK_FILES'
|
env: 'EXTERNAL_HOOK_FILES',
|
||||||
},
|
},
|
||||||
|
|
||||||
nodes: {
|
nodes: {
|
||||||
|
@ -433,13 +433,13 @@ const config = convict({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
default: '[]',
|
default: '[]',
|
||||||
env: 'NODES_EXCLUDE'
|
env: 'NODES_EXCLUDE',
|
||||||
},
|
},
|
||||||
errorTriggerType: {
|
errorTriggerType: {
|
||||||
doc: 'Node Type to use as Error Trigger',
|
doc: 'Node Type to use as Error Trigger',
|
||||||
format: String,
|
format: String,
|
||||||
default: 'n8n-nodes-base.errorTrigger',
|
default: 'n8n-nodes-base.errorTrigger',
|
||||||
env: 'NODES_ERROR_TRIGGER_TYPE'
|
env: 'NODES_ERROR_TRIGGER_TYPE',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,8 @@ import {
|
||||||
} from 'n8n-core';
|
} from 'n8n-core';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
IExecutionsCurrentSummary,
|
|
||||||
IExecutingWorkflowData,
|
IExecutingWorkflowData,
|
||||||
|
IExecutionsCurrentSummary,
|
||||||
IWorkflowExecutionDataProcess,
|
IWorkflowExecutionDataProcess,
|
||||||
} from '.';
|
} from '.';
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
import {
|
import {
|
||||||
IActivationError,
|
|
||||||
Db,
|
Db,
|
||||||
NodeTypes,
|
IActivationError,
|
||||||
IResponseCallbackData,
|
IResponseCallbackData,
|
||||||
|
IWebhookDb,
|
||||||
IWorkflowDb,
|
IWorkflowDb,
|
||||||
IWorkflowExecutionDataProcess,
|
IWorkflowExecutionDataProcess,
|
||||||
|
NodeTypes,
|
||||||
ResponseHelper,
|
ResponseHelper,
|
||||||
WebhookHelpers,
|
WebhookHelpers,
|
||||||
WorkflowCredentials,
|
WorkflowCredentials,
|
||||||
|
WorkflowExecuteAdditionalData,
|
||||||
WorkflowHelpers,
|
WorkflowHelpers,
|
||||||
WorkflowRunner,
|
WorkflowRunner,
|
||||||
WorkflowExecuteAdditionalData,
|
|
||||||
IWebhookDb,
|
|
||||||
} from './';
|
} from './';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
@ -26,8 +26,8 @@ import {
|
||||||
INode,
|
INode,
|
||||||
INodeExecutionData,
|
INodeExecutionData,
|
||||||
IRunExecutionData,
|
IRunExecutionData,
|
||||||
NodeHelpers,
|
|
||||||
IWorkflowExecuteAdditionalData as IWorkflowExecuteAdditionalDataWorkflow,
|
IWorkflowExecuteAdditionalData as IWorkflowExecuteAdditionalDataWorkflow,
|
||||||
|
NodeHelpers,
|
||||||
WebhookHttpMethod,
|
WebhookHttpMethod,
|
||||||
Workflow,
|
Workflow,
|
||||||
WorkflowExecuteMode,
|
WorkflowExecuteMode,
|
||||||
|
@ -352,8 +352,8 @@ export class ActiveWorkflowRunner {
|
||||||
node,
|
node,
|
||||||
data: {
|
data: {
|
||||||
main: data,
|
main: data,
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const executionData: IRunExecutionData = {
|
const executionData: IRunExecutionData = {
|
||||||
|
|
|
@ -9,8 +9,8 @@ import {
|
||||||
INodeParameters,
|
INodeParameters,
|
||||||
INodeProperties,
|
INodeProperties,
|
||||||
INodeType,
|
INodeType,
|
||||||
INodeTypes,
|
|
||||||
INodeTypeData,
|
INodeTypeData,
|
||||||
|
INodeTypes,
|
||||||
NodeHelpers,
|
NodeHelpers,
|
||||||
Workflow,
|
Workflow,
|
||||||
} from 'n8n-workflow';
|
} from 'n8n-workflow';
|
||||||
|
|
|
@ -4,8 +4,8 @@ import {
|
||||||
|
|
||||||
import {
|
import {
|
||||||
CredentialTypes,
|
CredentialTypes,
|
||||||
ICredentialsOverwrite,
|
|
||||||
GenericHelpers,
|
GenericHelpers,
|
||||||
|
ICredentialsOverwrite,
|
||||||
} from './';
|
} from './';
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -33,27 +33,27 @@ export let collections: IDatabaseCollections = {
|
||||||
};
|
};
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
CreateIndexStoppedAt1594828256133,
|
||||||
InitialMigration1587669153312,
|
InitialMigration1587669153312,
|
||||||
WebhookModel1589476000887,
|
WebhookModel1589476000887,
|
||||||
CreateIndexStoppedAt1594828256133,
|
|
||||||
} from './databases/postgresdb/migrations';
|
} from './databases/postgresdb/migrations';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
CreateIndexStoppedAt1594910478695,
|
||||||
InitialMigration1587563438936,
|
InitialMigration1587563438936,
|
||||||
WebhookModel1592679094242,
|
WebhookModel1592679094242,
|
||||||
CreateIndexStoppedAt1594910478695,
|
|
||||||
} from './databases/mongodb/migrations';
|
} from './databases/mongodb/migrations';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
CreateIndexStoppedAt1594902918301,
|
||||||
InitialMigration1588157391238,
|
InitialMigration1588157391238,
|
||||||
WebhookModel1592447867632,
|
WebhookModel1592447867632,
|
||||||
CreateIndexStoppedAt1594902918301,
|
|
||||||
} from './databases/mysqldb/migrations';
|
} from './databases/mysqldb/migrations';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
CreateIndexStoppedAt1594825041918,
|
||||||
InitialMigration1588102412422,
|
InitialMigration1588102412422,
|
||||||
WebhookModel1592445003908,
|
WebhookModel1592445003908,
|
||||||
CreateIndexStoppedAt1594825041918,
|
|
||||||
} from './databases/sqlite/migrations';
|
} from './databases/sqlite/migrations';
|
||||||
|
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
@ -154,7 +154,7 @@ export async function init(): Promise<IDatabaseCollections> {
|
||||||
migrations: [
|
migrations: [
|
||||||
InitialMigration1588102412422,
|
InitialMigration1588102412422,
|
||||||
WebhookModel1592445003908,
|
WebhookModel1592445003908,
|
||||||
CreateIndexStoppedAt1594825041918
|
CreateIndexStoppedAt1594825041918,
|
||||||
],
|
],
|
||||||
migrationsRun: true,
|
migrationsRun: true,
|
||||||
migrationsTableName: `${entityPrefix}migrations`,
|
migrationsTableName: `${entityPrefix}migrations`,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import {
|
import {
|
||||||
Db,
|
Db,
|
||||||
IExternalHooksFunctions,
|
|
||||||
IExternalHooksClass,
|
IExternalHooksClass,
|
||||||
|
IExternalHooksFunctions,
|
||||||
} from './';
|
} from './';
|
||||||
|
|
||||||
import * as config from '../config';
|
import * as config from '../config';
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import {
|
import {
|
||||||
INodeType,
|
INodeType,
|
||||||
INodeTypes,
|
|
||||||
INodeTypeData,
|
INodeTypeData,
|
||||||
|
INodeTypes,
|
||||||
NodeHelpers,
|
NodeHelpers,
|
||||||
} from 'n8n-workflow';
|
} from 'n8n-workflow';
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ export function sendSuccessResponse(res: Response, data: any, raw?: boolean, res
|
||||||
res.json(data);
|
res.json(data);
|
||||||
} else {
|
} else {
|
||||||
res.json({
|
res.json({
|
||||||
data
|
data,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -183,7 +183,7 @@ export function unflattenExecutionData(fullExecutionData: IExecutionFlattedDb):
|
||||||
mode: fullExecutionData.mode,
|
mode: fullExecutionData.mode,
|
||||||
startedAt: fullExecutionData.startedAt,
|
startedAt: fullExecutionData.startedAt,
|
||||||
stoppedAt: fullExecutionData.stoppedAt,
|
stoppedAt: fullExecutionData.stoppedAt,
|
||||||
finished: fullExecutionData.finished ? fullExecutionData.finished : false
|
finished: fullExecutionData.finished ? fullExecutionData.finished : false,
|
||||||
});
|
});
|
||||||
|
|
||||||
return returnData;
|
return returnData;
|
||||||
|
|
|
@ -26,15 +26,18 @@ import {
|
||||||
ActiveExecutions,
|
ActiveExecutions,
|
||||||
ActiveWorkflowRunner,
|
ActiveWorkflowRunner,
|
||||||
CredentialsHelper,
|
CredentialsHelper,
|
||||||
|
CredentialsOverwrites,
|
||||||
CredentialTypes,
|
CredentialTypes,
|
||||||
Db,
|
Db,
|
||||||
ExternalHooks,
|
ExternalHooks,
|
||||||
|
GenericHelpers,
|
||||||
IActivationError,
|
IActivationError,
|
||||||
ICustomRequest,
|
|
||||||
ICredentialsDb,
|
ICredentialsDb,
|
||||||
ICredentialsDecryptedDb,
|
ICredentialsDecryptedDb,
|
||||||
ICredentialsDecryptedResponse,
|
ICredentialsDecryptedResponse,
|
||||||
|
ICredentialsOverwrite,
|
||||||
ICredentialsResponse,
|
ICredentialsResponse,
|
||||||
|
ICustomRequest,
|
||||||
IExecutionDeleteFilter,
|
IExecutionDeleteFilter,
|
||||||
IExecutionFlatted,
|
IExecutionFlatted,
|
||||||
IExecutionFlattedDb,
|
IExecutionFlattedDb,
|
||||||
|
@ -47,21 +50,18 @@ import {
|
||||||
IN8nUISettings,
|
IN8nUISettings,
|
||||||
IPackageVersions,
|
IPackageVersions,
|
||||||
IWorkflowBase,
|
IWorkflowBase,
|
||||||
IWorkflowShortResponse,
|
|
||||||
IWorkflowResponse,
|
|
||||||
IWorkflowExecutionDataProcess,
|
IWorkflowExecutionDataProcess,
|
||||||
|
IWorkflowResponse,
|
||||||
|
IWorkflowShortResponse,
|
||||||
|
LoadNodesAndCredentials,
|
||||||
NodeTypes,
|
NodeTypes,
|
||||||
Push,
|
Push,
|
||||||
ResponseHelper,
|
ResponseHelper,
|
||||||
TestWebhooks,
|
TestWebhooks,
|
||||||
WorkflowCredentials,
|
|
||||||
WebhookHelpers,
|
WebhookHelpers,
|
||||||
|
WorkflowCredentials,
|
||||||
WorkflowExecuteAdditionalData,
|
WorkflowExecuteAdditionalData,
|
||||||
WorkflowRunner,
|
WorkflowRunner,
|
||||||
GenericHelpers,
|
|
||||||
CredentialsOverwrites,
|
|
||||||
ICredentialsOverwrite,
|
|
||||||
LoadNodesAndCredentials,
|
|
||||||
} from './';
|
} from './';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
@ -75,9 +75,9 @@ import {
|
||||||
ICredentialType,
|
ICredentialType,
|
||||||
IDataObject,
|
IDataObject,
|
||||||
INodeCredentials,
|
INodeCredentials,
|
||||||
INodeTypeDescription,
|
|
||||||
INodeParameters,
|
INodeParameters,
|
||||||
INodePropertyOptions,
|
INodePropertyOptions,
|
||||||
|
INodeTypeDescription,
|
||||||
IRunData,
|
IRunData,
|
||||||
IWorkflowCredentials,
|
IWorkflowCredentials,
|
||||||
Workflow,
|
Workflow,
|
||||||
|
@ -172,7 +172,7 @@ class App {
|
||||||
oauthCallbackUrls: {
|
oauthCallbackUrls: {
|
||||||
'oauth1': urlBaseWebhook + `${this.restEndpoint}/oauth1-credential/callback`,
|
'oauth1': urlBaseWebhook + `${this.restEndpoint}/oauth1-credential/callback`,
|
||||||
'oauth2': urlBaseWebhook + `${this.restEndpoint}/oauth2-credential/callback`,
|
'oauth2': urlBaseWebhook + `${this.restEndpoint}/oauth2-credential/callback`,
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -313,7 +313,7 @@ class App {
|
||||||
|
|
||||||
const jwtVerifyOptions: jwt.VerifyOptions = {
|
const jwtVerifyOptions: jwt.VerifyOptions = {
|
||||||
issuer: jwtIssuer !== '' ? jwtIssuer : undefined,
|
issuer: jwtIssuer !== '' ? jwtIssuer : undefined,
|
||||||
ignoreExpiration: false
|
ignoreExpiration: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
jwt.verify(token, getKey, jwtVerifyOptions, (err: jwt.VerifyErrors, decoded: object) => {
|
jwt.verify(token, getKey, jwtVerifyOptions, (err: jwt.VerifyErrors, decoded: object) => {
|
||||||
|
@ -355,7 +355,7 @@ class App {
|
||||||
limit: '16mb', verify: (req, res, buf) => {
|
limit: '16mb', verify: (req, res, buf) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
req.rawBody = buf;
|
req.rawBody = buf;
|
||||||
}
|
},
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// Support application/xml type post data
|
// Support application/xml type post data
|
||||||
|
@ -365,14 +365,14 @@ class App {
|
||||||
normalize: true, // Trim whitespace inside text nodes
|
normalize: true, // Trim whitespace inside text nodes
|
||||||
normalizeTags: true, // Transform tags to lowercase
|
normalizeTags: true, // Transform tags to lowercase
|
||||||
explicitArray: false, // Only put properties in array if length > 1
|
explicitArray: false, // Only put properties in array if length > 1
|
||||||
}
|
},
|
||||||
}));
|
}));
|
||||||
|
|
||||||
this.app.use(bodyParser.text({
|
this.app.use(bodyParser.text({
|
||||||
limit: '16mb', verify: (req, res, buf) => {
|
limit: '16mb', verify: (req, res, buf) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
req.rawBody = buf;
|
req.rawBody = buf;
|
||||||
}
|
},
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// Make sure that Vue history mode works properly
|
// Make sure that Vue history mode works properly
|
||||||
|
@ -382,9 +382,9 @@ class App {
|
||||||
from: new RegExp(`^\/(${this.restEndpoint}|healthz|css|js|${this.endpointWebhook}|${this.endpointWebhookTest})\/?.*$`),
|
from: new RegExp(`^\/(${this.restEndpoint}|healthz|css|js|${this.endpointWebhook}|${this.endpointWebhookTest})\/?.*$`),
|
||||||
to: (context) => {
|
to: (context) => {
|
||||||
return context.parsedUrl!.pathname!.toString();
|
return context.parsedUrl!.pathname!.toString();
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}));
|
}));
|
||||||
|
|
||||||
//support application/x-www-form-urlencoded post data
|
//support application/x-www-form-urlencoded post data
|
||||||
|
@ -392,7 +392,7 @@ class App {
|
||||||
verify: (req, res, buf) => {
|
verify: (req, res, buf) => {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
req.rawBody = buf;
|
req.rawBody = buf;
|
||||||
}
|
},
|
||||||
}));
|
}));
|
||||||
|
|
||||||
if (process.env['NODE_ENV'] !== 'production') {
|
if (process.env['NODE_ENV'] !== 'production') {
|
||||||
|
@ -1074,7 +1074,7 @@ class App {
|
||||||
};
|
};
|
||||||
|
|
||||||
const oauthRequestData = {
|
const oauthRequestData = {
|
||||||
oauth_callback: `${WebhookHelpers.getWebhookBaseUrl()}${this.restEndpoint}/oauth1-credential/callback?cid=${req.query.id}`
|
oauth_callback: `${WebhookHelpers.getWebhookBaseUrl()}${this.restEndpoint}/oauth1-credential/callback?cid=${req.query.id}`,
|
||||||
};
|
};
|
||||||
|
|
||||||
await this.externalHooks.run('oauth1.authenticate', [oAuthOptions, oauthRequestData]);
|
await this.externalHooks.run('oauth1.authenticate', [oAuthOptions, oauthRequestData]);
|
||||||
|
@ -1153,7 +1153,7 @@ class App {
|
||||||
qs: {
|
qs: {
|
||||||
oauth_token,
|
oauth_token,
|
||||||
oauth_verifier,
|
oauth_verifier,
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let oauthToken;
|
let oauthToken;
|
||||||
|
@ -1329,7 +1329,7 @@ class App {
|
||||||
accessTokenUri: _.get(oauthCredentials, 'accessTokenUrl', '') as string,
|
accessTokenUri: _.get(oauthCredentials, 'accessTokenUrl', '') as string,
|
||||||
authorizationUri: _.get(oauthCredentials, 'authUrl', '') as string,
|
authorizationUri: _.get(oauthCredentials, 'authUrl', '') as string,
|
||||||
redirectUri: `${WebhookHelpers.getWebhookBaseUrl()}${this.restEndpoint}/oauth2-credential/callback`,
|
redirectUri: `${WebhookHelpers.getWebhookBaseUrl()}${this.restEndpoint}/oauth2-credential/callback`,
|
||||||
scopes: _.split(_.get(oauthCredentials, 'scope', 'openid,') as string, ',')
|
scopes: _.split(_.get(oauthCredentials, 'scope', 'openid,') as string, ','),
|
||||||
};
|
};
|
||||||
|
|
||||||
if (_.get(oauthCredentials, 'authentication', 'header') as string === 'body') {
|
if (_.get(oauthCredentials, 'authentication', 'header') as string === 'body') {
|
||||||
|
@ -1877,7 +1877,7 @@ class App {
|
||||||
// got used
|
// got used
|
||||||
res.setHeader('Last-Modified', startTime);
|
res.setHeader('Last-Modified', startTime);
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,10 +10,10 @@ import {
|
||||||
IWorkflowDb,
|
IWorkflowDb,
|
||||||
IWorkflowExecutionDataProcess,
|
IWorkflowExecutionDataProcess,
|
||||||
ResponseHelper,
|
ResponseHelper,
|
||||||
WorkflowHelpers,
|
|
||||||
WorkflowRunner,
|
|
||||||
WorkflowCredentials,
|
WorkflowCredentials,
|
||||||
WorkflowExecuteAdditionalData,
|
WorkflowExecuteAdditionalData,
|
||||||
|
WorkflowHelpers,
|
||||||
|
WorkflowRunner,
|
||||||
} from './';
|
} from './';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
@ -252,7 +252,7 @@ export function getWorkflowWebhooksBasic(workflow: Workflow): IWebhookData[] {
|
||||||
data: {
|
data: {
|
||||||
main: webhookResultData.workflowData,
|
main: webhookResultData.workflowData,
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
const runExecutionData: IRunExecutionData = {
|
const runExecutionData: IRunExecutionData = {
|
||||||
|
|
|
@ -25,8 +25,8 @@ import {
|
||||||
IExecuteData,
|
IExecuteData,
|
||||||
IExecuteWorkflowInfo,
|
IExecuteWorkflowInfo,
|
||||||
INode,
|
INode,
|
||||||
INodeParameters,
|
|
||||||
INodeExecutionData,
|
INodeExecutionData,
|
||||||
|
INodeParameters,
|
||||||
IRun,
|
IRun,
|
||||||
IRunExecutionData,
|
IRunExecutionData,
|
||||||
ITaskData,
|
ITaskData,
|
||||||
|
@ -74,7 +74,7 @@ function executeErrorWorkflow(workflowData: IWorkflowBase, fullRunData: IRun, mo
|
||||||
workflow: {
|
workflow: {
|
||||||
id: workflowData.id !== undefined ? workflowData.id.toString() as string : undefined,
|
id: workflowData.id !== undefined ? workflowData.id.toString() as string : undefined,
|
||||||
name: workflowData.name,
|
name: workflowData.name,
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
// Run the error workflow
|
// Run the error workflow
|
||||||
WorkflowHelpers.executeErrorWorkflow(workflowData.settings.errorWorkflow as string, workflowErrorData);
|
WorkflowHelpers.executeErrorWorkflow(workflowData.settings.errorWorkflow as string, workflowErrorData);
|
||||||
|
@ -191,13 +191,13 @@ function hookFunctionsPush(): IWorkflowExecuteHooks {
|
||||||
workflowId: this.workflowData.id as string,
|
workflowId: this.workflowData.id as string,
|
||||||
workflowName: this.workflowData.name,
|
workflowName: this.workflowData.name,
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
workflowExecuteAfter: [
|
workflowExecuteAfter: [
|
||||||
async function (this: WorkflowHooks, fullRunData: IRun, newStaticData: IDataObject): Promise<void> {
|
async function (this: WorkflowHooks, fullRunData: IRun, newStaticData: IDataObject): Promise<void> {
|
||||||
pushExecutionFinished(this.mode, fullRunData, this.executionId, undefined, this.retryOf);
|
pushExecutionFinished(this.mode, fullRunData, this.executionId, undefined, this.retryOf);
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -298,7 +298,7 @@ function hookFunctionsSave(parentProcessMode?: string): IWorkflowExecuteHooks {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -374,8 +374,8 @@ export async function executeWorkflow(workflowInfo: IExecuteWorkflowInfo, additi
|
||||||
// Always start with empty data if no inputData got supplied
|
// Always start with empty data if no inputData got supplied
|
||||||
inputData = inputData || [
|
inputData = inputData || [
|
||||||
{
|
{
|
||||||
json: {}
|
json: {},
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
// Initialize the incoming data
|
// Initialize the incoming data
|
||||||
|
@ -386,7 +386,7 @@ export async function executeWorkflow(workflowInfo: IExecuteWorkflowInfo, additi
|
||||||
data: {
|
data: {
|
||||||
main: [inputData],
|
main: [inputData],
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
const runExecutionData: IRunExecutionData = {
|
const runExecutionData: IRunExecutionData = {
|
||||||
|
|
|
@ -3,8 +3,8 @@ import {
|
||||||
Db,
|
Db,
|
||||||
ICredentialsTypeData,
|
ICredentialsTypeData,
|
||||||
ITransferNodeTypes,
|
ITransferNodeTypes,
|
||||||
IWorkflowExecutionDataProcess,
|
|
||||||
IWorkflowErrorData,
|
IWorkflowErrorData,
|
||||||
|
IWorkflowExecutionDataProcess,
|
||||||
NodeTypes,
|
NodeTypes,
|
||||||
WorkflowCredentials,
|
WorkflowCredentials,
|
||||||
WorkflowRunner,
|
WorkflowRunner,
|
||||||
|
@ -120,12 +120,12 @@ export async function executeErrorWorkflow(workflowId: string, workflowErrorData
|
||||||
main: [
|
main: [
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
json: workflowErrorData
|
json: workflowErrorData,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
const runExecutionData: IRunExecutionData = {
|
const runExecutionData: IRunExecutionData = {
|
||||||
|
|
|
@ -24,8 +24,8 @@ import {
|
||||||
IExecutionError,
|
IExecutionError,
|
||||||
IRun,
|
IRun,
|
||||||
Workflow,
|
Workflow,
|
||||||
WorkflowHooks,
|
|
||||||
WorkflowExecuteMode,
|
WorkflowExecuteMode,
|
||||||
|
WorkflowHooks,
|
||||||
} from 'n8n-workflow';
|
} from 'n8n-workflow';
|
||||||
|
|
||||||
import * as config from '../config';
|
import * as config from '../config';
|
||||||
|
|
|
@ -135,13 +135,13 @@ export class WorkflowRunnerProcess {
|
||||||
workflowExecuteBefore: [
|
workflowExecuteBefore: [
|
||||||
async (): Promise<void> => {
|
async (): Promise<void> => {
|
||||||
this.sendHookToParentProcess('workflowExecuteBefore', []);
|
this.sendHookToParentProcess('workflowExecuteBefore', []);
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
workflowExecuteAfter: [
|
workflowExecuteAfter: [
|
||||||
async (fullRunData: IRun, newStaticData?: IDataObject): Promise<void> => {
|
async (fullRunData: IRun, newStaticData?: IDataObject): Promise<void> => {
|
||||||
this.sendHookToParentProcess('workflowExecuteAfter', [fullRunData, newStaticData]);
|
this.sendHookToParentProcess('workflowExecuteAfter', [fullRunData, newStaticData]);
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
return new WorkflowHooks(hookFunctions, this.data!.executionMode, this.data!.executionId, this.data!.workflowData, { sessionId: this.data!.sessionId, retryOf: this.data!.retryOf as string });
|
return new WorkflowHooks(hookFunctions, this.data!.executionMode, this.data!.executionId, this.data!.workflowData, { sessionId: this.data!.sessionId, retryOf: this.data!.retryOf as string });
|
||||||
|
|
|
@ -20,7 +20,7 @@ export class CredentialsEntity implements ICredentialsDb {
|
||||||
id: number;
|
id: number;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
length: 128
|
length: 128,
|
||||||
})
|
})
|
||||||
name: string;
|
name: string;
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ export class CredentialsEntity implements ICredentialsDb {
|
||||||
|
|
||||||
@Index()
|
@Index()
|
||||||
@Column({
|
@Column({
|
||||||
length: 32
|
length: 32,
|
||||||
})
|
})
|
||||||
type: string;
|
type: string;
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ export class WorkflowEntity implements IWorkflowDb {
|
||||||
id: number;
|
id: number;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
length: 128
|
length: 128,
|
||||||
})
|
})
|
||||||
name: string;
|
name: string;
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ export class CredentialsEntity implements ICredentialsDb {
|
||||||
id: number;
|
id: number;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
length: 128
|
length: 128,
|
||||||
})
|
})
|
||||||
name: string;
|
name: string;
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ export class CredentialsEntity implements ICredentialsDb {
|
||||||
|
|
||||||
@Index()
|
@Index()
|
||||||
@Column({
|
@Column({
|
||||||
length: 32
|
length: 32,
|
||||||
})
|
})
|
||||||
type: string;
|
type: string;
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ export class WorkflowEntity implements IWorkflowDb {
|
||||||
id: number;
|
id: number;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
length: 128
|
length: 128,
|
||||||
})
|
})
|
||||||
name: string;
|
name: string;
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ export class CredentialsEntity implements ICredentialsDb {
|
||||||
id: number;
|
id: number;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
length: 128
|
length: 128,
|
||||||
})
|
})
|
||||||
name: string;
|
name: string;
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ export class CredentialsEntity implements ICredentialsDb {
|
||||||
|
|
||||||
@Index()
|
@Index()
|
||||||
@Column({
|
@Column({
|
||||||
length: 32
|
length: 32,
|
||||||
})
|
})
|
||||||
type: string;
|
type: string;
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ export class WorkflowEntity implements IWorkflowDb {
|
||||||
id: number;
|
id: number;
|
||||||
|
|
||||||
@Column({
|
@Column({
|
||||||
length: 128
|
length: 128,
|
||||||
})
|
})
|
||||||
name: string;
|
name: string;
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,11 @@
|
||||||
"forin": true,
|
"forin": true,
|
||||||
"jsdoc-format": true,
|
"jsdoc-format": true,
|
||||||
"label-position": true,
|
"label-position": true,
|
||||||
|
"indent": [
|
||||||
|
true,
|
||||||
|
"tabs",
|
||||||
|
2
|
||||||
|
],
|
||||||
"member-access": [
|
"member-access": [
|
||||||
true,
|
true,
|
||||||
"no-public"
|
"no-public"
|
||||||
|
@ -60,6 +65,13 @@
|
||||||
"no-default-export": true,
|
"no-default-export": true,
|
||||||
"no-duplicate-variable": true,
|
"no-duplicate-variable": true,
|
||||||
"no-inferrable-types": true,
|
"no-inferrable-types": true,
|
||||||
|
"ordered-imports": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"import-sources-order": "any",
|
||||||
|
"named-imports-order": "case-insensitive"
|
||||||
|
}
|
||||||
|
],
|
||||||
"no-namespace": [
|
"no-namespace": [
|
||||||
true,
|
true,
|
||||||
"allow-declarations"
|
"allow-declarations"
|
||||||
|
@ -82,6 +94,18 @@
|
||||||
"ignore-bound-class-methods"
|
"ignore-bound-class-methods"
|
||||||
],
|
],
|
||||||
"switch-default": true,
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": {
|
||||||
|
"objects": "always",
|
||||||
|
"arrays": "always",
|
||||||
|
"functions": "never",
|
||||||
|
"typeLiterals": "ignore"
|
||||||
|
},
|
||||||
|
"esSpecCompliant": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"triple-equals": [
|
"triple-equals": [
|
||||||
true,
|
true,
|
||||||
"allow-null-check"
|
"allow-null-check"
|
||||||
|
|
|
@ -5,7 +5,7 @@ import {
|
||||||
ICredentialsEncrypted,
|
ICredentialsEncrypted,
|
||||||
} from 'n8n-workflow';
|
} from 'n8n-workflow';
|
||||||
|
|
||||||
import { enc, AES } from 'crypto-js';
|
import { AES, enc } from 'crypto-js';
|
||||||
|
|
||||||
|
|
||||||
export class Credentials extends ICredentials {
|
export class Credentials extends ICredentials {
|
||||||
|
|
|
@ -9,13 +9,13 @@ import {
|
||||||
ILoadOptionsFunctions as ILoadOptionsFunctionsBase,
|
ILoadOptionsFunctions as ILoadOptionsFunctionsBase,
|
||||||
INodeExecutionData,
|
INodeExecutionData,
|
||||||
INodeType,
|
INodeType,
|
||||||
|
IOAuth2Options,
|
||||||
IPollFunctions as IPollFunctionsBase,
|
IPollFunctions as IPollFunctionsBase,
|
||||||
IPollResponse,
|
IPollResponse,
|
||||||
ITriggerFunctions as ITriggerFunctionsBase,
|
ITriggerFunctions as ITriggerFunctionsBase,
|
||||||
ITriggerResponse,
|
ITriggerResponse,
|
||||||
IWebhookFunctions as IWebhookFunctionsBase,
|
IWebhookFunctions as IWebhookFunctionsBase,
|
||||||
IWorkflowSettings as IWorkflowSettingsWorkflow,
|
IWorkflowSettings as IWorkflowSettingsWorkflow,
|
||||||
IOAuth2Options,
|
|
||||||
} from 'n8n-workflow';
|
} from 'n8n-workflow';
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ export class LoadNodeParameterOptions {
|
||||||
position: [
|
position: [
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
]
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
if (credentials) {
|
if (credentials) {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import {
|
import {
|
||||||
|
BINARY_ENCODING,
|
||||||
IHookFunctions,
|
IHookFunctions,
|
||||||
ILoadOptionsFunctions,
|
ILoadOptionsFunctions,
|
||||||
IResponseError,
|
IResponseError,
|
||||||
IWorkflowSettings,
|
IWorkflowSettings,
|
||||||
BINARY_ENCODING,
|
|
||||||
} from './';
|
} from './';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
@ -19,6 +19,7 @@ import {
|
||||||
INodeExecutionData,
|
INodeExecutionData,
|
||||||
INodeParameters,
|
INodeParameters,
|
||||||
INodeType,
|
INodeType,
|
||||||
|
IOAuth2Options,
|
||||||
IPollFunctions,
|
IPollFunctions,
|
||||||
IRunExecutionData,
|
IRunExecutionData,
|
||||||
ITaskDataConnections,
|
ITaskDataConnections,
|
||||||
|
@ -34,7 +35,6 @@ import {
|
||||||
Workflow,
|
Workflow,
|
||||||
WorkflowDataProxy,
|
WorkflowDataProxy,
|
||||||
WorkflowExecuteMode,
|
WorkflowExecuteMode,
|
||||||
IOAuth2Options,
|
|
||||||
} from 'n8n-workflow';
|
} from 'n8n-workflow';
|
||||||
|
|
||||||
import * as clientOAuth1 from 'oauth-1.0a';
|
import * as clientOAuth1 from 'oauth-1.0a';
|
||||||
|
@ -43,7 +43,7 @@ import * as clientOAuth2 from 'client-oauth2';
|
||||||
import { get } from 'lodash';
|
import { get } from 'lodash';
|
||||||
import * as express from 'express';
|
import * as express from 'express';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import { OptionsWithUrl, OptionsWithUri } from 'request';
|
import { OptionsWithUri, OptionsWithUrl } from 'request';
|
||||||
import * as requestPromise from 'request-promise-native';
|
import * as requestPromise from 'request-promise-native';
|
||||||
import { createHmac } from 'crypto';
|
import { createHmac } from 'crypto';
|
||||||
import { fromBuffer } from 'file-type';
|
import { fromBuffer } from 'file-type';
|
||||||
|
@ -91,7 +91,7 @@ export async function prepareBinaryData(binaryData: Buffer, filePath?: string, m
|
||||||
// TODO: Should program it in a way that it does not have to converted to base64
|
// TODO: Should program it in a way that it does not have to converted to base64
|
||||||
// It should only convert to and from base64 when saved in database because
|
// It should only convert to and from base64 when saved in database because
|
||||||
// of for example an error or when there is a wait node.
|
// of for example an error or when there is a wait node.
|
||||||
data: binaryData.toString(BINARY_ENCODING)
|
data: binaryData.toString(BINARY_ENCODING),
|
||||||
};
|
};
|
||||||
|
|
||||||
if (filePath) {
|
if (filePath) {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import {
|
import {
|
||||||
ENCRYPTION_KEY_ENV_OVERWRITE,
|
ENCRYPTION_KEY_ENV_OVERWRITE,
|
||||||
EXTENSIONS_SUBDIRECTORY,
|
EXTENSIONS_SUBDIRECTORY,
|
||||||
|
IUserSettings,
|
||||||
USER_FOLDER_ENV_OVERWRITE,
|
USER_FOLDER_ENV_OVERWRITE,
|
||||||
USER_SETTINGS_FILE_NAME,
|
USER_SETTINGS_FILE_NAME,
|
||||||
USER_SETTINGS_SUBFOLDER,
|
USER_SETTINGS_SUBFOLDER,
|
||||||
IUserSettings,
|
|
||||||
} from '.';
|
} from '.';
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,8 @@ import {
|
||||||
ITaskDataConnections,
|
ITaskDataConnections,
|
||||||
IWaitingForExecution,
|
IWaitingForExecution,
|
||||||
IWorkflowExecuteAdditionalData,
|
IWorkflowExecuteAdditionalData,
|
||||||
WorkflowExecuteMode,
|
|
||||||
Workflow,
|
Workflow,
|
||||||
|
WorkflowExecuteMode,
|
||||||
} from 'n8n-workflow';
|
} from 'n8n-workflow';
|
||||||
import {
|
import {
|
||||||
NodeExecuteFunctions,
|
NodeExecuteFunctions,
|
||||||
|
@ -84,7 +84,7 @@ export class WorkflowExecute {
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
this.runExecutionData = {
|
this.runExecutionData = {
|
||||||
|
@ -137,8 +137,8 @@ export class WorkflowExecute {
|
||||||
// If it has no incoming data add the default empty data
|
// If it has no incoming data add the default empty data
|
||||||
incomingData.push([
|
incomingData.push([
|
||||||
{
|
{
|
||||||
json: {}
|
json: {},
|
||||||
}
|
},
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
// Get the data of the incoming connections
|
// Get the data of the incoming connections
|
||||||
|
@ -156,7 +156,7 @@ export class WorkflowExecute {
|
||||||
node: workflow.getNode(startNode) as INode,
|
node: workflow.getNode(startNode) as INode,
|
||||||
data: {
|
data: {
|
||||||
main: incomingData,
|
main: incomingData,
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
nodeExecutionStack.push(executeData);
|
nodeExecutionStack.push(executeData);
|
||||||
|
@ -252,7 +252,7 @@ export class WorkflowExecute {
|
||||||
if (this.runExecutionData.executionData!.waitingExecution[connectionData.node][runIndex] === undefined) {
|
if (this.runExecutionData.executionData!.waitingExecution[connectionData.node][runIndex] === undefined) {
|
||||||
// Node does not have data for runIndex yet so create also empty one and init it
|
// Node does not have data for runIndex yet so create also empty one and init it
|
||||||
this.runExecutionData.executionData!.waitingExecution[connectionData.node][runIndex] = {
|
this.runExecutionData.executionData!.waitingExecution[connectionData.node][runIndex] = {
|
||||||
main: []
|
main: [],
|
||||||
};
|
};
|
||||||
for (let i = 0; i < workflow.connectionsByDestinationNode[connectionData.node]['main'].length; i++) {
|
for (let i = 0; i < workflow.connectionsByDestinationNode[connectionData.node]['main'].length; i++) {
|
||||||
this.runExecutionData.executionData!.waitingExecution[connectionData.node][runIndex].main.push(null);
|
this.runExecutionData.executionData!.waitingExecution[connectionData.node][runIndex].main.push(null);
|
||||||
|
@ -282,7 +282,7 @@ export class WorkflowExecute {
|
||||||
// So add it to the execution stack
|
// So add it to the execution stack
|
||||||
this.runExecutionData.executionData!.nodeExecutionStack.push({
|
this.runExecutionData.executionData!.nodeExecutionStack.push({
|
||||||
node: workflow.nodes[connectionData.node],
|
node: workflow.nodes[connectionData.node],
|
||||||
data: this.runExecutionData.executionData!.waitingExecution[connectionData.node][runIndex]
|
data: this.runExecutionData.executionData!.waitingExecution[connectionData.node][runIndex],
|
||||||
});
|
});
|
||||||
|
|
||||||
// Remove the data from waiting
|
// Remove the data from waiting
|
||||||
|
@ -426,15 +426,15 @@ export class WorkflowExecute {
|
||||||
this.runExecutionData.executionData!.waitingExecution[connectionData.node] = {};
|
this.runExecutionData.executionData!.waitingExecution[connectionData.node] = {};
|
||||||
}
|
}
|
||||||
this.runExecutionData.executionData!.waitingExecution[connectionData.node][runIndex] = {
|
this.runExecutionData.executionData!.waitingExecution[connectionData.node][runIndex] = {
|
||||||
main: connectionDataArray
|
main: connectionDataArray,
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
// All data is there so add it directly to stack
|
// All data is there so add it directly to stack
|
||||||
this.runExecutionData.executionData!.nodeExecutionStack.push({
|
this.runExecutionData.executionData!.nodeExecutionStack.push({
|
||||||
node: workflow.nodes[connectionData.node],
|
node: workflow.nodes[connectionData.node],
|
||||||
data: {
|
data: {
|
||||||
main: connectionDataArray
|
main: connectionDataArray,
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -608,7 +608,7 @@ export class WorkflowExecute {
|
||||||
nodeSuccessData[0] = [
|
nodeSuccessData[0] = [
|
||||||
{
|
{
|
||||||
json: {},
|
json: {},
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -639,7 +639,7 @@ export class WorkflowExecute {
|
||||||
}
|
}
|
||||||
taskData = {
|
taskData = {
|
||||||
startTime,
|
startTime,
|
||||||
executionTime: (new Date().getTime()) - startTime
|
executionTime: (new Date().getTime()) - startTime,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (executionError !== undefined) {
|
if (executionError !== undefined) {
|
||||||
|
@ -669,7 +669,7 @@ export class WorkflowExecute {
|
||||||
|
|
||||||
// Node executed successfully. So add data and go on.
|
// Node executed successfully. So add data and go on.
|
||||||
taskData.data = ({
|
taskData.data = ({
|
||||||
'main': nodeSuccessData
|
'main': nodeSuccessData,
|
||||||
} as ITaskDataConnections);
|
} as ITaskDataConnections);
|
||||||
|
|
||||||
this.executeHook('nodeExecuteAfter', [executionNode.name, taskData]);
|
this.executeHook('nodeExecuteAfter', [executionNode.name, taskData]);
|
||||||
|
|
|
@ -51,7 +51,7 @@ describe('Credentials', () => {
|
||||||
nodeType: 'base.noOp',
|
nodeType: 'base.noOp',
|
||||||
user: 'userName',
|
user: 'userName',
|
||||||
date: new Date(),
|
date: new Date(),
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const credentials = new Credentials('testName', 'testType', nodeAccess);
|
const credentials = new Credentials('testName', 'testType', nodeAccess);
|
||||||
|
|
|
@ -7,8 +7,8 @@ import {
|
||||||
INodeExecutionData,
|
INodeExecutionData,
|
||||||
INodeParameters,
|
INodeParameters,
|
||||||
INodeType,
|
INodeType,
|
||||||
INodeTypes,
|
|
||||||
INodeTypeData,
|
INodeTypeData,
|
||||||
|
INodeTypes,
|
||||||
IRun,
|
IRun,
|
||||||
ITaskData,
|
ITaskData,
|
||||||
IWorkflowBase,
|
IWorkflowBase,
|
||||||
|
@ -87,7 +87,7 @@ class NodeTypesClass implements INodeTypes {
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
mode: [
|
mode: [
|
||||||
'passThrough'
|
'passThrough',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -104,7 +104,7 @@ class NodeTypesClass implements INodeTypes {
|
||||||
default: 'input1',
|
default: 'input1',
|
||||||
description: 'Defines of which input the data should be used as output of node.',
|
description: 'Defines of which input the data should be used as output of node.',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
|
async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
|
||||||
// const itemsInput2 = this.getInputData(1);
|
// const itemsInput2 = this.getInputData(1);
|
||||||
|
@ -131,7 +131,7 @@ class NodeTypesClass implements INodeTypes {
|
||||||
}
|
}
|
||||||
|
|
||||||
return [returnData];
|
return [returnData];
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'n8n-nodes-base.set': {
|
'n8n-nodes-base.set': {
|
||||||
|
@ -186,11 +186,11 @@ class NodeTypesClass implements INodeTypes {
|
||||||
default: 0,
|
default: 0,
|
||||||
description: 'The number value to write in the property.',
|
description: 'The number value to write in the property.',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
|
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
|
||||||
const items = this.getInputData();
|
const items = this.getInputData();
|
||||||
|
@ -213,7 +213,7 @@ class NodeTypesClass implements INodeTypes {
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.prepareOutputData(returnData);
|
return this.prepareOutputData(returnData);
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'n8n-nodes-base.start': {
|
'n8n-nodes-base.start': {
|
||||||
|
@ -231,7 +231,7 @@ class NodeTypesClass implements INodeTypes {
|
||||||
},
|
},
|
||||||
inputs: [],
|
inputs: [],
|
||||||
outputs: ['main'],
|
outputs: ['main'],
|
||||||
properties: []
|
properties: [],
|
||||||
},
|
},
|
||||||
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
|
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
|
||||||
const items = this.getInputData();
|
const items = this.getInputData();
|
||||||
|
|
|
@ -47,8 +47,8 @@ describe('WorkflowExecute', () => {
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
100,
|
100,
|
||||||
300
|
300,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -56,19 +56,19 @@ describe('WorkflowExecute', () => {
|
||||||
"number": [
|
"number": [
|
||||||
{
|
{
|
||||||
"name": "value1",
|
"name": "value1",
|
||||||
"value": 1
|
"value": 1,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
"name": "Set",
|
"name": "Set",
|
||||||
"type": "n8n-nodes-base.set",
|
"type": "n8n-nodes-base.set",
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
280,
|
280,
|
||||||
300
|
300,
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
"connections": {
|
"connections": {
|
||||||
"Start": {
|
"Start": {
|
||||||
|
@ -77,12 +77,12 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
"node": "Set",
|
"node": "Set",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
|
@ -115,8 +115,8 @@ describe('WorkflowExecute', () => {
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
100,
|
100,
|
||||||
300
|
300,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -124,18 +124,18 @@ describe('WorkflowExecute', () => {
|
||||||
"number": [
|
"number": [
|
||||||
{
|
{
|
||||||
"name": "value1",
|
"name": "value1",
|
||||||
"value": 1
|
"value": 1,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
"name": "Set1",
|
"name": "Set1",
|
||||||
"type": "n8n-nodes-base.set",
|
"type": "n8n-nodes-base.set",
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
300,
|
300,
|
||||||
250
|
250,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -143,19 +143,19 @@ describe('WorkflowExecute', () => {
|
||||||
"number": [
|
"number": [
|
||||||
{
|
{
|
||||||
"name": "value2",
|
"name": "value2",
|
||||||
"value": 2
|
"value": 2,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
"name": "Set2",
|
"name": "Set2",
|
||||||
"type": "n8n-nodes-base.set",
|
"type": "n8n-nodes-base.set",
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
500,
|
500,
|
||||||
400
|
400,
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
"connections": {
|
"connections": {
|
||||||
"Start": {
|
"Start": {
|
||||||
|
@ -164,15 +164,15 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
"node": "Set1",
|
"node": "Set1",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"node": "Set2",
|
"node": "Set2",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
"Set1": {
|
"Set1": {
|
||||||
"main": [
|
"main": [
|
||||||
|
@ -180,12 +180,12 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
"node": "Set2",
|
"node": "Set2",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
|
@ -201,7 +201,7 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
value1: 1,
|
value1: 1,
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
],
|
],
|
||||||
Set2: [
|
Set2: [
|
||||||
[
|
[
|
||||||
|
@ -228,15 +228,15 @@ describe('WorkflowExecute', () => {
|
||||||
"nodes": [
|
"nodes": [
|
||||||
{
|
{
|
||||||
"parameters": {
|
"parameters": {
|
||||||
"mode": "passThrough"
|
"mode": "passThrough",
|
||||||
},
|
},
|
||||||
"name": "Merge4",
|
"name": "Merge4",
|
||||||
"type": "n8n-nodes-base.merge",
|
"type": "n8n-nodes-base.merge",
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
1150,
|
1150,
|
||||||
500
|
500,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -244,18 +244,18 @@ describe('WorkflowExecute', () => {
|
||||||
"number": [
|
"number": [
|
||||||
{
|
{
|
||||||
"name": "value2",
|
"name": "value2",
|
||||||
"value": 2
|
"value": 2,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
"name": "Set2",
|
"name": "Set2",
|
||||||
"type": "n8n-nodes-base.set",
|
"type": "n8n-nodes-base.set",
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
290,
|
290,
|
||||||
400
|
400,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -263,18 +263,18 @@ describe('WorkflowExecute', () => {
|
||||||
"number": [
|
"number": [
|
||||||
{
|
{
|
||||||
"name": "value4",
|
"name": "value4",
|
||||||
"value": 4
|
"value": 4,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
"name": "Set4",
|
"name": "Set4",
|
||||||
"type": "n8n-nodes-base.set",
|
"type": "n8n-nodes-base.set",
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
850,
|
850,
|
||||||
200
|
200,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -282,30 +282,30 @@ describe('WorkflowExecute', () => {
|
||||||
"number": [
|
"number": [
|
||||||
{
|
{
|
||||||
"name": "value3",
|
"name": "value3",
|
||||||
"value": 3
|
"value": 3,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
"name": "Set3",
|
"name": "Set3",
|
||||||
"type": "n8n-nodes-base.set",
|
"type": "n8n-nodes-base.set",
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
650,
|
650,
|
||||||
200
|
200,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {
|
"parameters": {
|
||||||
"mode": "passThrough"
|
"mode": "passThrough",
|
||||||
},
|
},
|
||||||
"name": "Merge4",
|
"name": "Merge4",
|
||||||
"type": "n8n-nodes-base.merge",
|
"type": "n8n-nodes-base.merge",
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
1150,
|
1150,
|
||||||
500
|
500,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {},
|
"parameters": {},
|
||||||
|
@ -314,21 +314,21 @@ describe('WorkflowExecute', () => {
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
1000,
|
1000,
|
||||||
400
|
400,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {
|
"parameters": {
|
||||||
"mode": "passThrough",
|
"mode": "passThrough",
|
||||||
"output": "input2"
|
"output": "input2",
|
||||||
},
|
},
|
||||||
"name": "Merge2",
|
"name": "Merge2",
|
||||||
"type": "n8n-nodes-base.merge",
|
"type": "n8n-nodes-base.merge",
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
700,
|
700,
|
||||||
400
|
400,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {},
|
"parameters": {},
|
||||||
|
@ -337,8 +337,8 @@ describe('WorkflowExecute', () => {
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
500,
|
500,
|
||||||
300
|
300,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {
|
"parameters": {
|
||||||
|
@ -346,18 +346,18 @@ describe('WorkflowExecute', () => {
|
||||||
"number": [
|
"number": [
|
||||||
{
|
{
|
||||||
"name": "value1",
|
"name": "value1",
|
||||||
"value": 1
|
"value": 1,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
"name": "Set1",
|
"name": "Set1",
|
||||||
"type": "n8n-nodes-base.set",
|
"type": "n8n-nodes-base.set",
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
300,
|
300,
|
||||||
200
|
200,
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"parameters": {},
|
"parameters": {},
|
||||||
|
@ -366,9 +366,9 @@ describe('WorkflowExecute', () => {
|
||||||
"typeVersion": 1,
|
"typeVersion": 1,
|
||||||
"position": [
|
"position": [
|
||||||
100,
|
100,
|
||||||
300
|
300,
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
"connections": {
|
"connections": {
|
||||||
"Set2": {
|
"Set2": {
|
||||||
|
@ -377,15 +377,15 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
"node": "Merge1",
|
"node": "Merge1",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 1
|
"index": 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"node": "Merge2",
|
"node": "Merge2",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 1
|
"index": 1,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
"Set4": {
|
"Set4": {
|
||||||
"main": [
|
"main": [
|
||||||
|
@ -393,10 +393,10 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
"node": "Merge3",
|
"node": "Merge3",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
"Set3": {
|
"Set3": {
|
||||||
"main": [
|
"main": [
|
||||||
|
@ -404,10 +404,10 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
"node": "Set4",
|
"node": "Set4",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
"Merge3": {
|
"Merge3": {
|
||||||
"main": [
|
"main": [
|
||||||
|
@ -415,10 +415,10 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
"node": "Merge4",
|
"node": "Merge4",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
"Merge2": {
|
"Merge2": {
|
||||||
"main": [
|
"main": [
|
||||||
|
@ -426,10 +426,10 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
"node": "Merge3",
|
"node": "Merge3",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 1
|
"index": 1,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
"Merge1": {
|
"Merge1": {
|
||||||
"main": [
|
"main": [
|
||||||
|
@ -437,10 +437,10 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
"node": "Merge2",
|
"node": "Merge2",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
"Set1": {
|
"Set1": {
|
||||||
"main": [
|
"main": [
|
||||||
|
@ -448,15 +448,15 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
"node": "Merge1",
|
"node": "Merge1",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"node": "Set3",
|
"node": "Set3",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
"Start": {
|
"Start": {
|
||||||
"main": [
|
"main": [
|
||||||
|
@ -464,22 +464,22 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
"node": "Set1",
|
"node": "Set1",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"node": "Set2",
|
"node": "Set2",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 0
|
"index": 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"node": "Merge4",
|
"node": "Merge4",
|
||||||
"type": "main",
|
"type": "main",
|
||||||
"index": 1
|
"index": 1,
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
|
@ -534,14 +534,14 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
value2: 2,
|
value2: 2,
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
],
|
],
|
||||||
Merge2: [
|
Merge2: [
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
value2: 2,
|
value2: 2,
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
],
|
],
|
||||||
Merge3: [
|
Merge3: [
|
||||||
[
|
[
|
||||||
|
@ -553,7 +553,7 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
value2: 2,
|
value2: 2,
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
],
|
],
|
||||||
Merge4: [
|
Merge4: [
|
||||||
[
|
[
|
||||||
|
@ -565,7 +565,7 @@ describe('WorkflowExecute', () => {
|
||||||
{
|
{
|
||||||
value2: 2,
|
value2: 2,
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -46,6 +46,11 @@
|
||||||
"forin": true,
|
"forin": true,
|
||||||
"jsdoc-format": true,
|
"jsdoc-format": true,
|
||||||
"label-position": true,
|
"label-position": true,
|
||||||
|
"indent": [
|
||||||
|
true,
|
||||||
|
"tabs",
|
||||||
|
2
|
||||||
|
],
|
||||||
"member-access": [
|
"member-access": [
|
||||||
true,
|
true,
|
||||||
"no-public"
|
"no-public"
|
||||||
|
@ -60,6 +65,13 @@
|
||||||
"no-default-export": true,
|
"no-default-export": true,
|
||||||
"no-duplicate-variable": true,
|
"no-duplicate-variable": true,
|
||||||
"no-inferrable-types": true,
|
"no-inferrable-types": true,
|
||||||
|
"ordered-imports": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"import-sources-order": "any",
|
||||||
|
"named-imports-order": "case-insensitive"
|
||||||
|
}
|
||||||
|
],
|
||||||
"no-namespace": [
|
"no-namespace": [
|
||||||
true,
|
true,
|
||||||
"allow-declarations"
|
"allow-declarations"
|
||||||
|
@ -82,6 +94,18 @@
|
||||||
"ignore-bound-class-methods"
|
"ignore-bound-class-methods"
|
||||||
],
|
],
|
||||||
"switch-default": true,
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": {
|
||||||
|
"objects": "always",
|
||||||
|
"arrays": "always",
|
||||||
|
"functions": "always",
|
||||||
|
"typeLiterals": "ignore"
|
||||||
|
},
|
||||||
|
"esSpecCompliant": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"triple-equals": [
|
"triple-equals": [
|
||||||
true,
|
true,
|
||||||
"allow-null-check"
|
"allow-null-check"
|
||||||
|
|
|
@ -15,7 +15,7 @@ import Vue from 'vue';
|
||||||
export default Vue.extend(
|
export default Vue.extend(
|
||||||
{
|
{
|
||||||
name: 'PageContentWrapper',
|
name: 'PageContentWrapper',
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
"forin": true,
|
"forin": true,
|
||||||
"jsdoc-format": true,
|
"jsdoc-format": true,
|
||||||
"label-position": true,
|
"label-position": true,
|
||||||
|
"indent": [true, "tabs", 2],
|
||||||
"member-access": [
|
"member-access": [
|
||||||
true,
|
true,
|
||||||
"no-public"
|
"no-public"
|
||||||
|
@ -83,6 +84,18 @@
|
||||||
"ignore-bound-class-methods"
|
"ignore-bound-class-methods"
|
||||||
],
|
],
|
||||||
"switch-default": true,
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": {
|
||||||
|
"objects": "always",
|
||||||
|
"arrays": "always",
|
||||||
|
"functions": "always",
|
||||||
|
"typeLiterals": "ignore"
|
||||||
|
},
|
||||||
|
"esSpecCompliant": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"triple-equals": [
|
"triple-equals": [
|
||||||
true,
|
true,
|
||||||
"allow-null-check"
|
"allow-null-check"
|
||||||
|
|
|
@ -23,7 +23,7 @@ export async function createTemplate(sourceFilePath: string, destinationFilePath
|
||||||
// Replace the variables in the template file
|
// Replace the variables in the template file
|
||||||
const options: ReplaceInFileConfig = {
|
const options: ReplaceInFileConfig = {
|
||||||
files: [
|
files: [
|
||||||
destinationFilePath
|
destinationFilePath,
|
||||||
],
|
],
|
||||||
from: [],
|
from: [],
|
||||||
to: [],
|
to: [],
|
||||||
|
|
|
@ -46,6 +46,11 @@
|
||||||
"forin": true,
|
"forin": true,
|
||||||
"jsdoc-format": true,
|
"jsdoc-format": true,
|
||||||
"label-position": true,
|
"label-position": true,
|
||||||
|
"indent": [
|
||||||
|
true,
|
||||||
|
"tabs",
|
||||||
|
2
|
||||||
|
],
|
||||||
"member-access": [
|
"member-access": [
|
||||||
true,
|
true,
|
||||||
"no-public"
|
"no-public"
|
||||||
|
@ -60,6 +65,13 @@
|
||||||
"no-default-export": true,
|
"no-default-export": true,
|
||||||
"no-duplicate-variable": true,
|
"no-duplicate-variable": true,
|
||||||
"no-inferrable-types": true,
|
"no-inferrable-types": true,
|
||||||
|
"ordered-imports": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"import-sources-order": "any",
|
||||||
|
"named-imports-order": "case-insensitive"
|
||||||
|
}
|
||||||
|
],
|
||||||
"no-namespace": [
|
"no-namespace": [
|
||||||
true,
|
true,
|
||||||
"allow-declarations"
|
"allow-declarations"
|
||||||
|
@ -82,6 +94,18 @@
|
||||||
"ignore-bound-class-methods"
|
"ignore-bound-class-methods"
|
||||||
],
|
],
|
||||||
"switch-default": true,
|
"switch-default": true,
|
||||||
|
"trailing-comma": [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
"multiline": {
|
||||||
|
"objects": "always",
|
||||||
|
"arrays": "always",
|
||||||
|
"functions": "always",
|
||||||
|
"typeLiterals": "ignore"
|
||||||
|
},
|
||||||
|
"esSpecCompliant": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"triple-equals": [
|
"triple-equals": [
|
||||||
true,
|
true,
|
||||||
"allow-null-check"
|
"allow-null-check"
|
||||||
|
|
|
@ -31,7 +31,7 @@ export class AcuitySchedulingOAuth2Api implements ICredentialType {
|
||||||
name: 'scope',
|
name: 'scope',
|
||||||
type: 'hidden' as NodePropertyTypes,
|
type: 'hidden' as NodePropertyTypes,
|
||||||
default: 'api-v1',
|
default: 'api-v1',
|
||||||
required: true
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Auth URI Query Parameters',
|
displayName: 'Auth URI Query Parameters',
|
||||||
|
|
|
@ -13,7 +13,7 @@ export class DisqusApi implements ICredentialType {
|
||||||
name: 'accessToken',
|
name: 'accessToken',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Visit your account details page, and grab the Access Token. See <a href="https://disqus.com/api/docs/auth/">Disqus auth</a>.'
|
description: 'Visit your account details page, and grab the Access Token. See <a href="https://disqus.com/api/docs/auth/">Disqus auth</a>.',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ export class DriftApi implements ICredentialType {
|
||||||
name: 'accessToken',
|
name: 'accessToken',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Visit your account details page, and grab the Access Token. See <a href="https://devdocs.drift.com/docs/quick-start">Drift auth</a>.'
|
description: 'Visit your account details page, and grab the Access Token. See <a href="https://devdocs.drift.com/docs/quick-start">Drift auth</a>.',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ export class EventbriteOAuth2Api implements ICredentialType {
|
||||||
displayName: 'Authentication',
|
displayName: 'Authentication',
|
||||||
name: 'authentication',
|
name: 'authentication',
|
||||||
type: 'hidden' as NodePropertyTypes,
|
type: 'hidden' as NodePropertyTypes,
|
||||||
default: 'body'
|
default: 'body',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ export class FreshdeskApi implements ICredentialType {
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
placeholder: 'company',
|
placeholder: 'company',
|
||||||
description: 'If the URL you get displayed on Freshdesk is "https://company.freshdesk.com" enter "company"',
|
description: 'If the URL you get displayed on Freshdesk is "https://company.freshdesk.com" enter "company"',
|
||||||
default: ''
|
default: '',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ export class Ftp implements ICredentialType {
|
||||||
required: true,
|
required: true,
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: '',
|
default: '',
|
||||||
placeholder: 'localhost'
|
placeholder: 'localhost',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Port',
|
displayName: 'Port',
|
||||||
|
|
|
@ -13,7 +13,7 @@ export class GitlabApi implements ICredentialType {
|
||||||
displayName: 'Gitlab Server',
|
displayName: 'Gitlab Server',
|
||||||
name: 'server',
|
name: 'server',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: 'https://gitlab.com'
|
default: 'https://gitlab.com',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Access Token',
|
displayName: 'Access Token',
|
||||||
|
|
|
@ -16,7 +16,7 @@ export class GitlabOAuth2Api implements ICredentialType {
|
||||||
displayName: 'Gitlab Server',
|
displayName: 'Gitlab Server',
|
||||||
name: 'server',
|
name: 'server',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: 'https://gitlab.com'
|
default: 'https://gitlab.com',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Authorization URL',
|
displayName: 'Authorization URL',
|
||||||
|
|
|
@ -17,7 +17,7 @@ export class GoogleTasksOAuth2Api implements ICredentialType {
|
||||||
displayName: 'Scope',
|
displayName: 'Scope',
|
||||||
name: 'scope',
|
name: 'scope',
|
||||||
type: 'hidden' as NodePropertyTypes,
|
type: 'hidden' as NodePropertyTypes,
|
||||||
default: scopes.join(' ')
|
default: scopes.join(' '),
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,14 +13,14 @@ export class HarvestApi implements ICredentialType {
|
||||||
name: 'accountId',
|
name: 'accountId',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Visit your account details page, and grab the Account ID. See <a href="https://help.getharvest.com/api-v2/authentication-api/authentication/authentication/">Harvest Personal Access Tokens</a>.'
|
description: 'Visit your account details page, and grab the Account ID. See <a href="https://help.getharvest.com/api-v2/authentication-api/authentication/authentication/">Harvest Personal Access Tokens</a>.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Access Token',
|
displayName: 'Access Token',
|
||||||
name: 'accessToken',
|
name: 'accessToken',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Visit your account details page, and grab the Access Token. See <a href="https://help.getharvest.com/api-v2/authentication-api/authentication/authentication/">Harvest Personal Access Tokens</a>.'
|
description: 'Visit your account details page, and grab the Access Token. See <a href="https://help.getharvest.com/api-v2/authentication-api/authentication/authentication/">Harvest Personal Access Tokens</a>.',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ export class LinkedInOAuth2Api implements ICredentialType {
|
||||||
name: 'scope',
|
name: 'scope',
|
||||||
type: 'hidden' as NodePropertyTypes,
|
type: 'hidden' as NodePropertyTypes,
|
||||||
default: '=r_liteprofile,r_emailaddress,w_member_social{{$parameter["organizationSupport"] === true ? ",w_organization_social":""}}',
|
default: '=r_liteprofile,r_emailaddress,w_member_social{{$parameter["organizationSupport"] === true ? ",w_organization_social":""}}',
|
||||||
description: 'Standard scopes for posting on behalf of a user or organization. See <a href="https://docs.microsoft.com/en-us/linkedin/marketing/getting-started#available-permissions"> this resource </a>.'
|
description: 'Standard scopes for posting on behalf of a user or organization. See <a href="https://docs.microsoft.com/en-us/linkedin/marketing/getting-started#available-permissions"> this resource </a>.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Auth URI Query Parameters',
|
displayName: 'Auth URI Query Parameters',
|
||||||
|
|
|
@ -9,7 +9,7 @@ export class MessageBirdApi implements ICredentialType {
|
||||||
displayName: 'API Key',
|
displayName: 'API Key',
|
||||||
name: 'accessKey',
|
name: 'accessKey',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: ''
|
default: '',
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,40 +9,40 @@ export class MicrosoftSql implements ICredentialType {
|
||||||
displayName: 'Server',
|
displayName: 'Server',
|
||||||
name: 'server',
|
name: 'server',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: 'localhost'
|
default: 'localhost',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Database',
|
displayName: 'Database',
|
||||||
name: 'database',
|
name: 'database',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: 'master'
|
default: 'master',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'User',
|
displayName: 'User',
|
||||||
name: 'user',
|
name: 'user',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: 'sa'
|
default: 'sa',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Password',
|
displayName: 'Password',
|
||||||
name: 'password',
|
name: 'password',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
password: true
|
password: true,
|
||||||
},
|
},
|
||||||
default: ''
|
default: '',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Port',
|
displayName: 'Port',
|
||||||
name: 'port',
|
name: 'port',
|
||||||
type: 'number' as NodePropertyTypes,
|
type: 'number' as NodePropertyTypes,
|
||||||
default: 1433
|
default: 1433,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Domain',
|
displayName: 'Domain',
|
||||||
name: 'domain',
|
name: 'domain',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: ''
|
default: '',
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ export class MongoDb implements ICredentialType {
|
||||||
placeholder: 'mongodb://<USERNAME>:<PASSWORD>@localhost:27017/?authSource=admin&readPreference=primary&appname=n8n&ssl=false',
|
placeholder: 'mongodb://<USERNAME>:<PASSWORD>@localhost:27017/?authSource=admin&readPreference=primary&appname=n8n&ssl=false',
|
||||||
required: false,
|
required: false,
|
||||||
description: `If provided, the value here will be used as a MongoDB connection string,<br />
|
description: `If provided, the value here will be used as a MongoDB connection string,<br />
|
||||||
and the MongoDB credentials will be ignored`
|
and the MongoDB credentials will be ignored`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Host',
|
displayName: 'Host',
|
||||||
|
@ -52,14 +52,14 @@ export class MongoDb implements ICredentialType {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
default: 'localhost'
|
default: 'localhost',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Database',
|
displayName: 'Database',
|
||||||
name: 'database',
|
name: 'database',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Note: the database should still be provided even if using an override connection string'
|
description: 'Note: the database should still be provided even if using an override connection string',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'User',
|
displayName: 'User',
|
||||||
|
@ -72,14 +72,14 @@ export class MongoDb implements ICredentialType {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
default: ''
|
default: '',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Password',
|
displayName: 'Password',
|
||||||
name: 'password',
|
name: 'password',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
password: true
|
password: true,
|
||||||
},
|
},
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
|
@ -88,7 +88,7 @@ export class MongoDb implements ICredentialType {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
default: ''
|
default: '',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Port',
|
displayName: 'Port',
|
||||||
|
@ -101,7 +101,7 @@ export class MongoDb implements ICredentialType {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
default: 27017
|
default: 27017,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,15 +50,15 @@ export class OAuth1Api implements ICredentialType {
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
name: 'HMAC-SHA1',
|
name: 'HMAC-SHA1',
|
||||||
value: 'HMAC-SHA1'
|
value: 'HMAC-SHA1',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'HMAC-SHA256',
|
name: 'HMAC-SHA256',
|
||||||
value: 'HMAC-SHA256'
|
value: 'HMAC-SHA256',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'HMAC-SHA512',
|
name: 'HMAC-SHA512',
|
||||||
value: 'HMAC-SHA512'
|
value: 'HMAC-SHA512',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: '',
|
default: '',
|
||||||
|
|
|
@ -29,13 +29,13 @@ export class PayPalApi implements ICredentialType {
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
name: 'Sanbox',
|
name: 'Sanbox',
|
||||||
value: 'sanbox'
|
value: 'sanbox',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Live',
|
name: 'Live',
|
||||||
value: 'live'
|
value: 'live',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,7 +74,7 @@ export class Postgres implements ICredentialType {
|
||||||
{
|
{
|
||||||
name: 'verify-full (not implemented)',
|
name: 'verify-full (not implemented)',
|
||||||
value: 'verify-full',
|
value: 'verify-full',
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
default: 'disable',
|
default: 'disable',
|
||||||
},
|
},
|
||||||
|
|
|
@ -13,7 +13,7 @@ export class S3 implements ICredentialType {
|
||||||
displayName: 'S3 endpoint',
|
displayName: 'S3 endpoint',
|
||||||
name: 'endpoint',
|
name: 'endpoint',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: ''
|
default: '',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Region',
|
displayName: 'Region',
|
||||||
|
@ -40,7 +40,7 @@ export class S3 implements ICredentialType {
|
||||||
displayName: 'Force path style',
|
displayName: 'Force path style',
|
||||||
name: 'forcePathStyle',
|
name: 'forcePathStyle',
|
||||||
type: 'boolean' as NodePropertyTypes,
|
type: 'boolean' as NodePropertyTypes,
|
||||||
default: false
|
default: false,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ export class Signl4Api implements ICredentialType {
|
||||||
name: 'teamSecret',
|
name: 'teamSecret',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: '',
|
default: '',
|
||||||
description: 'The team secret is the last part of your SIGNL4 webhook URL.'
|
description: 'The team secret is the last part of your SIGNL4 webhook URL.',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ const userScopes = [
|
||||||
'stars:read',
|
'stars:read',
|
||||||
'stars:write',
|
'stars:write',
|
||||||
'users.profile:read',
|
'users.profile:read',
|
||||||
'users.profile:write'
|
'users.profile:write',
|
||||||
];
|
];
|
||||||
|
|
||||||
export class SlackOAuth2Api implements ICredentialType {
|
export class SlackOAuth2Api implements ICredentialType {
|
||||||
|
|
|
@ -29,7 +29,7 @@ export class StravaOAuth2Api implements ICredentialType {
|
||||||
name: 'scope',
|
name: 'scope',
|
||||||
type: 'hidden' as NodePropertyTypes,
|
type: 'hidden' as NodePropertyTypes,
|
||||||
default: 'activity:read_all,activity:write',
|
default: 'activity:read_all,activity:write',
|
||||||
required: true
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Auth URI Query Parameters',
|
displayName: 'Auth URI Query Parameters',
|
||||||
|
|
|
@ -50,7 +50,7 @@ export class SurveyMonkeyOAuth2Api implements ICredentialType {
|
||||||
displayName: 'Authentication',
|
displayName: 'Authentication',
|
||||||
name: 'authentication',
|
name: 'authentication',
|
||||||
type: 'hidden' as NodePropertyTypes,
|
type: 'hidden' as NodePropertyTypes,
|
||||||
default: 'body'
|
default: 'body',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ export class ZoomApi implements ICredentialType {
|
||||||
displayName: 'JWT Token',
|
displayName: 'JWT Token',
|
||||||
name: 'accessToken',
|
name: 'accessToken',
|
||||||
type: 'string' as NodePropertyTypes,
|
type: 'string' as NodePropertyTypes,
|
||||||
default: ''
|
default: '',
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,31 +13,31 @@ export class ZoomOAuth2Api implements ICredentialType {
|
||||||
displayName: 'Authorization URL',
|
displayName: 'Authorization URL',
|
||||||
name: 'authUrl',
|
name: 'authUrl',
|
||||||
type: 'hidden' as NodePropertyTypes,
|
type: 'hidden' as NodePropertyTypes,
|
||||||
default: 'https://zoom.us/oauth/authorize'
|
default: 'https://zoom.us/oauth/authorize',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Access Token URL',
|
displayName: 'Access Token URL',
|
||||||
name: 'accessTokenUrl',
|
name: 'accessTokenUrl',
|
||||||
type: 'hidden' as NodePropertyTypes,
|
type: 'hidden' as NodePropertyTypes,
|
||||||
default: 'https://zoom.us/oauth/token'
|
default: 'https://zoom.us/oauth/token',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Scope',
|
displayName: 'Scope',
|
||||||
name: 'scope',
|
name: 'scope',
|
||||||
type: 'hidden' as NodePropertyTypes,
|
type: 'hidden' as NodePropertyTypes,
|
||||||
default: ''
|
default: '',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Auth URI Query Parameters',
|
displayName: 'Auth URI Query Parameters',
|
||||||
name: 'authQueryParameters',
|
name: 'authQueryParameters',
|
||||||
type: 'hidden' as NodePropertyTypes,
|
type: 'hidden' as NodePropertyTypes,
|
||||||
default: ''
|
default: '',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Authentication',
|
displayName: 'Authentication',
|
||||||
name: 'authentication',
|
name: 'authentication',
|
||||||
type: 'hidden' as NodePropertyTypes,
|
type: 'hidden' as NodePropertyTypes,
|
||||||
default: 'header'
|
default: 'header',
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,7 +142,7 @@ export class ActiveCampaign implements INodeType {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Connection',
|
name: 'Connection',
|
||||||
value: 'connection'
|
value: 'connection',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Deal',
|
name: 'Deal',
|
||||||
|
@ -158,7 +158,7 @@ export class ActiveCampaign implements INodeType {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'E-commerce Order Products',
|
name: 'E-commerce Order Products',
|
||||||
value: 'ecommerceOrderProducts'
|
value: 'ecommerceOrderProducts',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Tag',
|
name: 'Tag',
|
||||||
|
|
|
@ -35,7 +35,7 @@ export class ActiveCampaignTrigger implements INodeType {
|
||||||
{
|
{
|
||||||
name: 'activeCampaignApi',
|
name: 'activeCampaignApi',
|
||||||
required: true,
|
required: true,
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
webhooks: [
|
webhooks: [
|
||||||
{
|
{
|
||||||
|
@ -103,7 +103,7 @@ export class ActiveCampaignTrigger implements INodeType {
|
||||||
}
|
}
|
||||||
return returnData;
|
return returnData;
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
webhookMethods = {
|
webhookMethods = {
|
||||||
|
@ -132,7 +132,7 @@ export class ActiveCampaignTrigger implements INodeType {
|
||||||
url: webhookUrl,
|
url: webhookUrl,
|
||||||
events,
|
events,
|
||||||
sources,
|
sources,
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
const { webhook } = await activeCampaignApiRequest.call(this, 'POST', '/api/3/webhooks', body);
|
const { webhook } = await activeCampaignApiRequest.call(this, 'POST', '/api/3/webhooks', body);
|
||||||
webhookData.webhookId = webhook.id;
|
webhookData.webhookId = webhook.id;
|
||||||
|
@ -155,7 +155,7 @@ export class ActiveCampaignTrigger implements INodeType {
|
||||||
const req = this.getRequestObject();
|
const req = this.getRequestObject();
|
||||||
return {
|
return {
|
||||||
workflowData: [
|
workflowData: [
|
||||||
this.helpers.returnJsonArray(req.body)
|
this.helpers.returnJsonArray(req.body),
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,7 +234,7 @@ export const connectionFields = [
|
||||||
default: 1,
|
default: 1,
|
||||||
description: 'The status of a sync triggered on the connection (0 = sync stopped; 1 = sync running).',
|
description: 'The status of a sync triggered on the connection (0 = sync stopped; 1 = sync running).',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
|
|
|
@ -138,7 +138,7 @@ export const contactFields = [
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Value of the field to set.',
|
description: 'Value of the field to set.',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -237,7 +237,7 @@ export const contactFields = [
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Value of the field to set.',
|
description: 'Value of the field to set.',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
|
@ -232,7 +232,7 @@ export const dealFields = [
|
||||||
default: 0,
|
default: 0,
|
||||||
description: 'The status of the deal',
|
description: 'The status of the deal',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
|
@ -345,7 +345,7 @@ export const dealFields = [
|
||||||
default: 0,
|
default: 0,
|
||||||
description: 'The status of the deal',
|
description: 'The status of the deal',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
|
|
|
@ -247,7 +247,7 @@ export const ecomOrderFields = [
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
operation: [
|
operation: [
|
||||||
'create'
|
'create',
|
||||||
],
|
],
|
||||||
resource: [
|
resource: [
|
||||||
'ecommerceOrder',
|
'ecommerceOrder',
|
||||||
|
@ -391,7 +391,7 @@ export const ecomOrderFields = [
|
||||||
description: 'The order number. This can be different than the externalid.',
|
description: 'The order number. This can be different than the externalid.',
|
||||||
},
|
},
|
||||||
|
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
|
@ -632,7 +632,7 @@ export const ecomOrderFields = [
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
|
|
|
@ -42,7 +42,7 @@ export async function activeCampaignApiRequest(this: IHookFunctions | IExecuteFu
|
||||||
method,
|
method,
|
||||||
qs: query,
|
qs: query,
|
||||||
uri: `${credentials.apiUrl}${endpoint}`,
|
uri: `${credentials.apiUrl}${endpoint}`,
|
||||||
json: true
|
json: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (Object.keys(body).length !== 0) {
|
if (Object.keys(body).length !== 0) {
|
||||||
|
|
|
@ -228,5 +228,5 @@ export const tagFields = [
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
// tag:getAll
|
// tag:getAll
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
...activeCampaignDefaultGetAllProperties('tag', 'getAll')
|
...activeCampaignDefaultGetAllProperties('tag', 'getAll'),
|
||||||
] as INodeProperties[];
|
] as INodeProperties[];
|
||||||
|
|
|
@ -169,5 +169,5 @@ export const allCurrencies = [
|
||||||
{ name: 'Yemeni Rial', value: 'yer' },
|
{ name: 'Yemeni Rial', value: 'yer' },
|
||||||
{ name: 'South African Rand', value: 'zar' },
|
{ name: 'South African Rand', value: 'zar' },
|
||||||
{ name: 'Zambian Kwacha', value: 'zmw' },
|
{ name: 'Zambian Kwacha', value: 'zmw' },
|
||||||
{ name: 'Zimbabwean Dollar', value: 'zwl' }
|
{ name: 'Zimbabwean Dollar', value: 'zwl' },
|
||||||
];
|
];
|
||||||
|
|
|
@ -20,7 +20,7 @@ export async function acuitySchedulingApiRequest(this: IHookFunctions | IExecute
|
||||||
qs,
|
qs,
|
||||||
body,
|
body,
|
||||||
uri: uri ||`https://acuityscheduling.com/api/v1${resource}`,
|
uri: uri ||`https://acuityscheduling.com/api/v1${resource}`,
|
||||||
json: true
|
json: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -49,7 +49,7 @@ export class Affinity implements INodeType {
|
||||||
{
|
{
|
||||||
name: 'affinityApi',
|
name: 'affinityApi',
|
||||||
required: true,
|
required: true,
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
properties: [
|
properties: [
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,7 +29,7 @@ export async function affinityApiRequest(this: IExecuteFunctions | IWebhookFunct
|
||||||
body,
|
body,
|
||||||
qs: query,
|
qs: query,
|
||||||
uri: uri || `${endpoint}${resource}`,
|
uri: uri || `${endpoint}${resource}`,
|
||||||
json: true
|
json: true,
|
||||||
};
|
};
|
||||||
if (!Object.keys(body).length) {
|
if (!Object.keys(body).length) {
|
||||||
delete options.body;
|
delete options.body;
|
||||||
|
|
|
@ -62,7 +62,7 @@ export const organizationFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'create',
|
'create',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'The name of the organization.',
|
description: 'The name of the organization.',
|
||||||
|
@ -80,7 +80,7 @@ export const organizationFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'create',
|
'create',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'The domain name of the organization.',
|
description: 'The domain name of the organization.',
|
||||||
|
@ -130,7 +130,7 @@ export const organizationFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'update',
|
'update',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'Unique identifier for the organization.',
|
description: 'Unique identifier for the organization.',
|
||||||
|
@ -176,7 +176,7 @@ export const organizationFields = [
|
||||||
default: [],
|
default: [],
|
||||||
description: 'Persons that the new organization will be associated with.',
|
description: 'Persons that the new organization will be associated with.',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
/* organization:get */
|
/* organization:get */
|
||||||
|
@ -194,7 +194,7 @@ export const organizationFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'get',
|
'get',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'Unique identifier for the organization.',
|
description: 'Unique identifier for the organization.',
|
||||||
|
@ -223,7 +223,7 @@ export const organizationFields = [
|
||||||
default: false,
|
default: false,
|
||||||
description: 'When true, interaction dates will be present on the returned resources.',
|
description: 'When true, interaction dates will be present on the returned resources.',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
/* organization:getAll */
|
/* organization:getAll */
|
||||||
|
@ -300,7 +300,7 @@ export const organizationFields = [
|
||||||
default: false,
|
default: false,
|
||||||
description: 'When true, interaction dates will be present on the returned resources.',
|
description: 'When true, interaction dates will be present on the returned resources.',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
/* organization:delete */
|
/* organization:delete */
|
||||||
|
@ -318,7 +318,7 @@ export const organizationFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'delete',
|
'delete',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'Unique identifier for the organization.',
|
description: 'Unique identifier for the organization.',
|
||||||
|
|
|
@ -62,7 +62,7 @@ export const personFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'create',
|
'create',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'The first name of the person.',
|
description: 'The first name of the person.',
|
||||||
|
@ -80,7 +80,7 @@ export const personFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'create',
|
'create',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'The last name of the person.',
|
description: 'The last name of the person.',
|
||||||
|
@ -130,7 +130,7 @@ export const personFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'create',
|
'create',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
placeholder: 'info@example.com',
|
placeholder: 'info@example.com',
|
||||||
|
@ -152,7 +152,7 @@ export const personFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'update',
|
'update',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'Unique identifier for the person.',
|
description: 'Unique identifier for the person.',
|
||||||
|
@ -198,7 +198,7 @@ export const personFields = [
|
||||||
default: [],
|
default: [],
|
||||||
description: 'Organizations that the person is associated with.',
|
description: 'Organizations that the person is associated with.',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Emails',
|
displayName: 'Emails',
|
||||||
|
@ -216,7 +216,7 @@ export const personFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'update',
|
'update',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
placeholder: 'info@example.com',
|
placeholder: 'info@example.com',
|
||||||
|
@ -238,7 +238,7 @@ export const personFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'get',
|
'get',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'Unique identifier for the person.',
|
description: 'Unique identifier for the person.',
|
||||||
|
@ -267,7 +267,7 @@ export const personFields = [
|
||||||
default: false,
|
default: false,
|
||||||
description: 'When true, interaction dates will be present on the returned resources.',
|
description: 'When true, interaction dates will be present on the returned resources.',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
/* person:getAll */
|
/* person:getAll */
|
||||||
|
@ -344,7 +344,7 @@ export const personFields = [
|
||||||
default: false,
|
default: false,
|
||||||
description: 'When true, interaction dates will be present on the returned resources.',
|
description: 'When true, interaction dates will be present on the returned resources.',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
/* person:delete */
|
/* person:delete */
|
||||||
|
@ -362,7 +362,7 @@ export const personFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'delete',
|
'delete',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'Unique identifier for the person.',
|
description: 'Unique identifier for the person.',
|
||||||
|
|
|
@ -44,7 +44,7 @@ export class AgileCrm implements INodeType {
|
||||||
{
|
{
|
||||||
name: 'agileCrmApi',
|
name: 'agileCrmApi',
|
||||||
required: true,
|
required: true,
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
properties: [
|
properties: [
|
||||||
// Node properties which the user gets displayed and
|
// Node properties which the user gets displayed and
|
||||||
|
@ -56,15 +56,15 @@ export class AgileCrm implements INodeType {
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
name: 'Company',
|
name: 'Company',
|
||||||
value: 'company'
|
value: 'company',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Contact',
|
name: 'Contact',
|
||||||
value: 'contact'
|
value: 'contact',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Deal',
|
name: 'Deal',
|
||||||
value: 'deal'
|
value: 'deal',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: 'contact',
|
default: 'contact',
|
||||||
|
@ -80,7 +80,7 @@ export class AgileCrm implements INodeType {
|
||||||
|
|
||||||
// DEAL
|
// DEAL
|
||||||
...dealOperations,
|
...dealOperations,
|
||||||
...dealFields
|
...dealFields,
|
||||||
],
|
],
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -174,28 +174,28 @@ export class AgileCrm implements INodeType {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'first_name',
|
name: 'first_name',
|
||||||
value: additionalFields.firstName as string
|
value: additionalFields.firstName as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
if (additionalFields.lastName) {
|
if (additionalFields.lastName) {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'last_name',
|
name: 'last_name',
|
||||||
value: additionalFields.lastName as string
|
value: additionalFields.lastName as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
if (additionalFields.company) {
|
if (additionalFields.company) {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'company',
|
name: 'company',
|
||||||
value: additionalFields.company as string
|
value: additionalFields.company as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
if (additionalFields.title) {
|
if (additionalFields.title) {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'title',
|
name: 'title',
|
||||||
value: additionalFields.title as string
|
value: additionalFields.title as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
if (additionalFields.emailOptions) {
|
if (additionalFields.emailOptions) {
|
||||||
|
@ -205,7 +205,7 @@ export class AgileCrm implements INodeType {
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
subtype: property.subtype as string,
|
subtype: property.subtype as string,
|
||||||
name: 'email',
|
name: 'email',
|
||||||
value: property.email as string
|
value: property.email as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -216,7 +216,7 @@ export class AgileCrm implements INodeType {
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
subtype: property.subtype as string,
|
subtype: property.subtype as string,
|
||||||
name: 'address',
|
name: 'address',
|
||||||
value: property.address as string
|
value: property.address as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -228,7 +228,7 @@ export class AgileCrm implements INodeType {
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
subtype: property.subtype as string,
|
subtype: property.subtype as string,
|
||||||
name: 'phone',
|
name: 'phone',
|
||||||
value: property.number as string
|
value: property.number as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -237,7 +237,7 @@ export class AgileCrm implements INodeType {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'email',
|
name: 'email',
|
||||||
value: additionalFields.email as string
|
value: additionalFields.email as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -245,7 +245,7 @@ export class AgileCrm implements INodeType {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'address',
|
name: 'address',
|
||||||
value: additionalFields.address as string
|
value: additionalFields.address as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@ export class AgileCrm implements INodeType {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'phone',
|
name: 'phone',
|
||||||
value: additionalFields.phone as string
|
value: additionalFields.phone as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -266,7 +266,7 @@ export class AgileCrm implements INodeType {
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
subtype: property.subtype as string,
|
subtype: property.subtype as string,
|
||||||
name: 'webiste',
|
name: 'webiste',
|
||||||
value: property.url as string
|
value: property.url as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -278,7 +278,7 @@ export class AgileCrm implements INodeType {
|
||||||
type: 'CUSTOM',
|
type: 'CUSTOM',
|
||||||
subtype: property.subtype as string,
|
subtype: property.subtype as string,
|
||||||
name: property.name,
|
name: property.name,
|
||||||
value: property.value as string
|
value: property.value as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -329,28 +329,28 @@ export class AgileCrm implements INodeType {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'first_name',
|
name: 'first_name',
|
||||||
value: additionalFields.firstName as string
|
value: additionalFields.firstName as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
if (additionalFields.lastName) {
|
if (additionalFields.lastName) {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'last_name',
|
name: 'last_name',
|
||||||
value: additionalFields.lastName as string
|
value: additionalFields.lastName as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
if (additionalFields.company) {
|
if (additionalFields.company) {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'company',
|
name: 'company',
|
||||||
value: additionalFields.company as string
|
value: additionalFields.company as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
if (additionalFields.title) {
|
if (additionalFields.title) {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'title',
|
name: 'title',
|
||||||
value: additionalFields.title as string
|
value: additionalFields.title as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
if (additionalFields.emailOptions) {
|
if (additionalFields.emailOptions) {
|
||||||
|
@ -360,7 +360,7 @@ export class AgileCrm implements INodeType {
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
subtype: property.subtype as string,
|
subtype: property.subtype as string,
|
||||||
name: 'email',
|
name: 'email',
|
||||||
value: property.email as string
|
value: property.email as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -371,7 +371,7 @@ export class AgileCrm implements INodeType {
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
subtype: property.subtype as string,
|
subtype: property.subtype as string,
|
||||||
name: 'address',
|
name: 'address',
|
||||||
value: property.address as string
|
value: property.address as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -383,7 +383,7 @@ export class AgileCrm implements INodeType {
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
subtype: property.subtype as string,
|
subtype: property.subtype as string,
|
||||||
name: 'phone',
|
name: 'phone',
|
||||||
value: property.number as string
|
value: property.number as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -392,7 +392,7 @@ export class AgileCrm implements INodeType {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'email',
|
name: 'email',
|
||||||
value: additionalFields.email as string
|
value: additionalFields.email as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -400,7 +400,7 @@ export class AgileCrm implements INodeType {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'address',
|
name: 'address',
|
||||||
value: additionalFields.address as string
|
value: additionalFields.address as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -408,7 +408,7 @@ export class AgileCrm implements INodeType {
|
||||||
properties.push({
|
properties.push({
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
name: 'phone',
|
name: 'phone',
|
||||||
value: additionalFields.phone as string
|
value: additionalFields.phone as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ export class AgileCrm implements INodeType {
|
||||||
type: 'SYSTEM',
|
type: 'SYSTEM',
|
||||||
subtype: property.subtype as string,
|
subtype: property.subtype as string,
|
||||||
name: 'webiste',
|
name: 'webiste',
|
||||||
value: property.url as string
|
value: property.url as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -432,7 +432,7 @@ export class AgileCrm implements INodeType {
|
||||||
type: 'CUSTOM',
|
type: 'CUSTOM',
|
||||||
subtype: property.subtype as string,
|
subtype: property.subtype as string,
|
||||||
name: property.name,
|
name: property.name,
|
||||||
value: property.value as string
|
value: property.value as string,
|
||||||
} as IDataObject);
|
} as IDataObject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,7 +104,7 @@ export const companyFields = [
|
||||||
false,
|
false,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
/* company:create */
|
/* company:create */
|
||||||
|
@ -206,29 +206,29 @@ export const companyFields = [
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
name: '0',
|
name: '0',
|
||||||
value: 0
|
value: 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '1',
|
name: '1',
|
||||||
value: 1
|
value: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '2',
|
name: '2',
|
||||||
value: 2
|
value: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '3',
|
name: '3',
|
||||||
value: 3
|
value: 3,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '4',
|
name: '4',
|
||||||
value: 4
|
value: 4,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '5',
|
name: '5',
|
||||||
value: 5
|
value: 5,
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Tags',
|
displayName: 'Tags',
|
||||||
|
@ -339,7 +339,7 @@ export const companyFields = [
|
||||||
type: 'string',
|
type: 'string',
|
||||||
required: true,
|
required: true,
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Property name.'
|
description: 'Property name.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Sub Type',
|
displayName: 'Sub Type',
|
||||||
|
@ -653,7 +653,7 @@ export const companyFields = [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
|
@ -205,7 +205,7 @@ export const contactFields = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Office',
|
name: 'Office',
|
||||||
value: 'office'
|
value: 'office',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -656,15 +656,15 @@ export const contactFields = [
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
name: 'Home',
|
name: 'Home',
|
||||||
value: 'home'
|
value: 'home',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Office',
|
name: 'Office',
|
||||||
value: 'office'
|
value: 'office',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Postal',
|
name: 'Postal',
|
||||||
value: 'postal'
|
value: 'postal',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -715,8 +715,8 @@ export const contactFields = [
|
||||||
{
|
{
|
||||||
name: 'Personal',
|
name: 'Personal',
|
||||||
value: 'personal',
|
value: 'personal',
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Email',
|
displayName: 'Email',
|
||||||
|
@ -752,7 +752,7 @@ export const contactFields = [
|
||||||
description: 'Lead score of contact',
|
description: 'Lead score of contact',
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Star Value',
|
displayName: 'Star Value',
|
||||||
|
@ -966,7 +966,7 @@ export const contactFields = [
|
||||||
type: 'string',
|
type: 'string',
|
||||||
required: true,
|
required: true,
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Property name.'
|
description: 'Property name.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Sub Type',
|
displayName: 'Sub Type',
|
||||||
|
|
|
@ -143,7 +143,7 @@ export const dealFields = [
|
||||||
required: true,
|
required: true,
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
maxValue: 1000000000000
|
maxValue: 1000000000000,
|
||||||
},
|
},
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
|
@ -210,7 +210,7 @@ export const dealFields = [
|
||||||
required: true,
|
required: true,
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
maxValue: 100
|
maxValue: 100,
|
||||||
},
|
},
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
|
@ -318,7 +318,7 @@ export const dealFields = [
|
||||||
type: 'string',
|
type: 'string',
|
||||||
required: true,
|
required: true,
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Property name.'
|
description: 'Property name.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Value',
|
displayName: 'Value',
|
||||||
|
@ -444,7 +444,7 @@ export const dealFields = [
|
||||||
type: 'number',
|
type: 'number',
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
maxValue: 10000
|
maxValue: 10000,
|
||||||
},
|
},
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Expected Value of deal.',
|
description: 'Expected Value of deal.',
|
||||||
|
@ -462,7 +462,7 @@ export const dealFields = [
|
||||||
type: 'number',
|
type: 'number',
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
maxValue: 100
|
maxValue: 100,
|
||||||
},
|
},
|
||||||
default: 50,
|
default: 50,
|
||||||
description: 'Expected Value of deal.',
|
description: 'Expected Value of deal.',
|
||||||
|
@ -497,7 +497,7 @@ export const dealFields = [
|
||||||
type: 'string',
|
type: 'string',
|
||||||
required: true,
|
required: true,
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Property name.'
|
description: 'Property name.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Value',
|
displayName: 'Value',
|
||||||
|
@ -510,6 +510,6 @@ export const dealFields = [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
] as INodeProperties[];
|
] as INodeProperties[];
|
||||||
|
|
|
@ -25,7 +25,7 @@ export async function agileCrmApiRequest(this: IHookFunctions | IExecuteFunction
|
||||||
},
|
},
|
||||||
auth: {
|
auth: {
|
||||||
username: credentials!.email as string,
|
username: credentials!.email as string,
|
||||||
password: credentials!.apiKey as string
|
password: credentials!.apiKey as string,
|
||||||
},
|
},
|
||||||
uri: uri || `https://${credentials!.subdomain}.agilecrm.com/dev/${endpoint}`,
|
uri: uri || `https://${credentials!.subdomain}.agilecrm.com/dev/${endpoint}`,
|
||||||
json: true,
|
json: true,
|
||||||
|
|
|
@ -31,7 +31,7 @@ export class Airtable implements INodeType {
|
||||||
{
|
{
|
||||||
name: 'airtableApi',
|
name: 'airtableApi',
|
||||||
required: true,
|
required: true,
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
properties: [
|
properties: [
|
||||||
{
|
{
|
||||||
|
@ -47,22 +47,22 @@ export class Airtable implements INodeType {
|
||||||
{
|
{
|
||||||
name: 'Delete',
|
name: 'Delete',
|
||||||
value: 'delete',
|
value: 'delete',
|
||||||
description: 'Delete data from a table'
|
description: 'Delete data from a table',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'List',
|
name: 'List',
|
||||||
value: 'list',
|
value: 'list',
|
||||||
description: 'List data from a table'
|
description: 'List data from a table',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Read',
|
name: 'Read',
|
||||||
value: 'read',
|
value: 'read',
|
||||||
description: 'Read data from a table'
|
description: 'Read data from a table',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Update',
|
name: 'Update',
|
||||||
value: 'update',
|
value: 'update',
|
||||||
description: 'Update data in a table'
|
description: 'Update data in a table',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: 'read',
|
default: 'read',
|
||||||
|
@ -196,7 +196,7 @@ export class Airtable implements INodeType {
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
operation: [
|
operation: [
|
||||||
'list'
|
'list',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -259,13 +259,13 @@ export class Airtable implements INodeType {
|
||||||
{
|
{
|
||||||
name: 'DESC',
|
name: 'DESC',
|
||||||
value: 'desc',
|
value: 'desc',
|
||||||
description: 'Sort in descending order (large -> small)'
|
description: 'Sort in descending order (large -> small)',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: 'asc',
|
default: 'asc',
|
||||||
description: 'The sort direction.',
|
description: 'The sort direction.',
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
|
@ -98,6 +98,6 @@ export async function apiRequestAllItems(this: IHookFunctions | IExecuteFunction
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
records: returnData
|
records: returnData,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@ export class Amqp implements INodeType {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
async executeSingle(this: IExecuteSingleFunctions): Promise<INodeExecutionData> {
|
async executeSingle(this: IExecuteSingleFunctions): Promise<INodeExecutionData> {
|
||||||
|
@ -107,7 +107,7 @@ export class Amqp implements INodeType {
|
||||||
|
|
||||||
const message = {
|
const message = {
|
||||||
application_properties: headerProperties,
|
application_properties: headerProperties,
|
||||||
body
|
body,
|
||||||
};
|
};
|
||||||
|
|
||||||
const sendResult = context.sender.send(message);
|
const sendResult = context.sender.send(message);
|
||||||
|
|
|
@ -77,7 +77,7 @@ export class AmqpTrigger implements INodeType {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ export class AmqpTrigger implements INodeType {
|
||||||
port: credentials.port,
|
port: credentials.port,
|
||||||
reconnect: true, // this id the default anyway
|
reconnect: true, // this id the default anyway
|
||||||
reconnect_limit: 50, // try for max 50 times, based on a back-off algorithm
|
reconnect_limit: 50, // try for max 50 times, based on a back-off algorithm
|
||||||
container_id: (durable ? clientname : null)
|
container_id: (durable ? clientname : null),
|
||||||
};
|
};
|
||||||
if (credentials.username || credentials.password) {
|
if (credentials.username || credentials.password) {
|
||||||
container.options.username = credentials.username;
|
container.options.username = credentials.username;
|
||||||
|
@ -146,16 +146,16 @@ export class AmqpTrigger implements INodeType {
|
||||||
source: {
|
source: {
|
||||||
address: sink,
|
address: sink,
|
||||||
durable: 2,
|
durable: 2,
|
||||||
expiry_policy: 'never'
|
expiry_policy: 'never',
|
||||||
},
|
},
|
||||||
credit_window: 1 // prefetch 1
|
credit_window: 1, // prefetch 1
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
clientOptions = {
|
clientOptions = {
|
||||||
source: {
|
source: {
|
||||||
address: sink,
|
address: sink,
|
||||||
},
|
},
|
||||||
credit_window: 1 // prefetch 1
|
credit_window: 1, // prefetch 1
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
connection.open_receiver(clientOptions);
|
connection.open_receiver(clientOptions);
|
||||||
|
|
|
@ -1218,7 +1218,7 @@ export class Asana implements INodeType {
|
||||||
}
|
}
|
||||||
|
|
||||||
return returnData;
|
return returnData;
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -248,7 +248,7 @@ export class AsanaTrigger implements INodeType {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
workflowData: [
|
workflowData: [
|
||||||
this.helpers.returnJsonArray(req.body.events)
|
this.helpers.returnJsonArray(req.body.events),
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ export class Automizy implements INodeType {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: 'contact',
|
default: 'contact',
|
||||||
description: 'The resource to operate on.'
|
description: 'The resource to operate on.',
|
||||||
},
|
},
|
||||||
|
|
||||||
...contactOperations,
|
...contactOperations,
|
||||||
|
@ -86,12 +86,12 @@ export class Automizy implements INodeType {
|
||||||
this,
|
this,
|
||||||
'smartLists',
|
'smartLists',
|
||||||
'GET',
|
'GET',
|
||||||
`/smart-lists`,
|
`/smart-lists`
|
||||||
);
|
);
|
||||||
for (const list of lists) {
|
for (const list of lists) {
|
||||||
returnData.push({
|
returnData.push({
|
||||||
name: list.name,
|
name: list.name,
|
||||||
value: list.id
|
value: list.id,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return returnData;
|
return returnData;
|
||||||
|
@ -109,7 +109,7 @@ export class Automizy implements INodeType {
|
||||||
for (const tag of tags) {
|
for (const tag of tags) {
|
||||||
returnData.push({
|
returnData.push({
|
||||||
name: tag.name,
|
name: tag.name,
|
||||||
value: tag.name
|
value: tag.name,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return returnData;
|
return returnData;
|
||||||
|
@ -122,12 +122,12 @@ export class Automizy implements INodeType {
|
||||||
this,
|
this,
|
||||||
'customFields',
|
'customFields',
|
||||||
'GET',
|
'GET',
|
||||||
'/custom-fields',
|
'/custom-fields'
|
||||||
);
|
);
|
||||||
for (const customField of customFields) {
|
for (const customField of customFields) {
|
||||||
returnData.push({
|
returnData.push({
|
||||||
name: customField.name,
|
name: customField.name,
|
||||||
value: customField.id
|
value: customField.id,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return returnData;
|
return returnData;
|
||||||
|
@ -178,7 +178,7 @@ export class Automizy implements INodeType {
|
||||||
this,
|
this,
|
||||||
'POST',
|
'POST',
|
||||||
`/smart-lists/${listId}/contacts`,
|
`/smart-lists/${listId}/contacts`,
|
||||||
body,
|
body
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -188,7 +188,7 @@ export class Automizy implements INodeType {
|
||||||
responseData = await automizyApiRequest.call(
|
responseData = await automizyApiRequest.call(
|
||||||
this,
|
this,
|
||||||
'DELETE',
|
'DELETE',
|
||||||
`/contacts/${contactId}`,
|
`/contacts/${contactId}`
|
||||||
);
|
);
|
||||||
|
|
||||||
responseData = { success: true };
|
responseData = { success: true };
|
||||||
|
@ -200,7 +200,7 @@ export class Automizy implements INodeType {
|
||||||
responseData = await automizyApiRequest.call(
|
responseData = await automizyApiRequest.call(
|
||||||
this,
|
this,
|
||||||
'GET',
|
'GET',
|
||||||
`/contacts/${contactId}`,
|
`/contacts/${contactId}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -227,7 +227,7 @@ export class Automizy implements INodeType {
|
||||||
'GET',
|
'GET',
|
||||||
`/smart-lists/${listId}/contacts`,
|
`/smart-lists/${listId}/contacts`,
|
||||||
{},
|
{},
|
||||||
qs,
|
qs
|
||||||
);
|
);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -238,7 +238,7 @@ export class Automizy implements INodeType {
|
||||||
'GET',
|
'GET',
|
||||||
`/smart-lists/${listId}/contacts`,
|
`/smart-lists/${listId}/contacts`,
|
||||||
{},
|
{},
|
||||||
qs,
|
qs
|
||||||
);
|
);
|
||||||
|
|
||||||
responseData = responseData.contacts;
|
responseData = responseData.contacts;
|
||||||
|
@ -272,7 +272,7 @@ export class Automizy implements INodeType {
|
||||||
this,
|
this,
|
||||||
'PATCH',
|
'PATCH',
|
||||||
`/contacts/${email}`,
|
`/contacts/${email}`,
|
||||||
body,
|
body
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -290,7 +290,7 @@ export class Automizy implements INodeType {
|
||||||
this,
|
this,
|
||||||
'POST',
|
'POST',
|
||||||
`/smart-lists`,
|
`/smart-lists`,
|
||||||
body,
|
body
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -300,7 +300,7 @@ export class Automizy implements INodeType {
|
||||||
responseData = await automizyApiRequest.call(
|
responseData = await automizyApiRequest.call(
|
||||||
this,
|
this,
|
||||||
'DELETE',
|
'DELETE',
|
||||||
`/smart-lists/${listId}`,
|
`/smart-lists/${listId}`
|
||||||
);
|
);
|
||||||
|
|
||||||
responseData = { success: true };
|
responseData = { success: true };
|
||||||
|
@ -312,7 +312,7 @@ export class Automizy implements INodeType {
|
||||||
responseData = await automizyApiRequest.call(
|
responseData = await automizyApiRequest.call(
|
||||||
this,
|
this,
|
||||||
'GET',
|
'GET',
|
||||||
`/smart-lists/${listId}`,
|
`/smart-lists/${listId}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -337,7 +337,7 @@ export class Automizy implements INodeType {
|
||||||
'GET',
|
'GET',
|
||||||
`/smart-lists`,
|
`/smart-lists`,
|
||||||
{},
|
{},
|
||||||
qs,
|
qs
|
||||||
);
|
);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -348,7 +348,7 @@ export class Automizy implements INodeType {
|
||||||
'GET',
|
'GET',
|
||||||
`/smart-lists`,
|
`/smart-lists`,
|
||||||
{},
|
{},
|
||||||
qs,
|
qs
|
||||||
);
|
);
|
||||||
|
|
||||||
responseData = responseData.smartLists;
|
responseData = responseData.smartLists;
|
||||||
|
@ -368,7 +368,7 @@ export class Automizy implements INodeType {
|
||||||
this,
|
this,
|
||||||
'PATCH',
|
'PATCH',
|
||||||
`/smart-lists/${listId}`,
|
`/smart-lists/${listId}`,
|
||||||
body,
|
body
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -204,7 +204,7 @@ export const contactFields = [
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Can be ID or email.'
|
description: 'Can be ID or email.',
|
||||||
},
|
},
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
|
|
|
@ -29,7 +29,7 @@ export class AwsLambda implements INodeType {
|
||||||
{
|
{
|
||||||
name: 'aws',
|
name: 'aws',
|
||||||
required: true,
|
required: true,
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
properties: [
|
properties: [
|
||||||
{
|
{
|
||||||
|
@ -145,7 +145,7 @@ export class AwsLambda implements INodeType {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return returnData;
|
return returnData;
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ export class AwsLambda implements INodeType {
|
||||||
{
|
{
|
||||||
'X-Amz-Invocation-Type': params.InvocationType,
|
'X-Amz-Invocation-Type': params.InvocationType,
|
||||||
'Content-Type': 'application/x-amz-json-1.0',
|
'Content-Type': 'application/x-amz-json-1.0',
|
||||||
},
|
}
|
||||||
);
|
);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
throw new Error(`AWS Error: ${err}`);
|
throw new Error(`AWS Error: ${err}`);
|
||||||
|
|
|
@ -29,7 +29,7 @@ export class AwsSns implements INodeType {
|
||||||
{
|
{
|
||||||
name: 'aws',
|
name: 'aws',
|
||||||
required: true,
|
required: true,
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
properties: [
|
properties: [
|
||||||
{
|
{
|
||||||
|
@ -133,7 +133,7 @@ export class AwsSns implements INodeType {
|
||||||
}
|
}
|
||||||
|
|
||||||
return returnData;
|
return returnData;
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,7 @@ export class AwsSnsTrigger implements INodeType {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return returnData;
|
return returnData;
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
|
|
|
@ -96,7 +96,7 @@ export class AwsRekognition implements INodeType {
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
operation: [
|
operation: [
|
||||||
'analyze'
|
'analyze',
|
||||||
],
|
],
|
||||||
resource: [
|
resource: [
|
||||||
'image',
|
'image',
|
||||||
|
@ -110,7 +110,7 @@ export class AwsRekognition implements INodeType {
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
operation: [
|
operation: [
|
||||||
'analyze'
|
'analyze',
|
||||||
],
|
],
|
||||||
resource: [
|
resource: [
|
||||||
'image',
|
'image',
|
||||||
|
@ -132,7 +132,7 @@ export class AwsRekognition implements INodeType {
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
operation: [
|
operation: [
|
||||||
'analyze'
|
'analyze',
|
||||||
],
|
],
|
||||||
resource: [
|
resource: [
|
||||||
'image',
|
'image',
|
||||||
|
@ -153,7 +153,7 @@ export class AwsRekognition implements INodeType {
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
operation: [
|
operation: [
|
||||||
'analyze'
|
'analyze',
|
||||||
],
|
],
|
||||||
resource: [
|
resource: [
|
||||||
'image',
|
'image',
|
||||||
|
|
|
@ -65,7 +65,7 @@ export class AwsS3 implements INodeType {
|
||||||
{
|
{
|
||||||
name: 'aws',
|
name: 'aws',
|
||||||
required: true,
|
required: true,
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
properties: [
|
properties: [
|
||||||
{
|
{
|
||||||
|
@ -148,7 +148,7 @@ export class AwsS3 implements INodeType {
|
||||||
'$': {
|
'$': {
|
||||||
xmlns: 'http://s3.amazonaws.com/doc/2006-03-01/',
|
xmlns: 'http://s3.amazonaws.com/doc/2006-03-01/',
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
let data = '';
|
let data = '';
|
||||||
// if credentials has the S3 defaul region (us-east-1) the body (XML) does not have to be sent.
|
// if credentials has the S3 defaul region (us-east-1) the body (XML) does not have to be sent.
|
||||||
|
@ -282,7 +282,7 @@ export class AwsS3 implements INodeType {
|
||||||
for (const childObject of responseData) {
|
for (const childObject of responseData) {
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
(body.Delete.Object as IDataObject[]).push({
|
(body.Delete.Object as IDataObject[]).push({
|
||||||
Key: childObject.Key as string
|
Key: childObject.Key as string,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -113,19 +113,19 @@ export const fileFields = [
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
name: 'Authenticated Read',
|
name: 'Authenticated Read',
|
||||||
value: 'authenticatedRead'
|
value: 'authenticatedRead',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'AWS Exec Read',
|
name: 'AWS Exec Read',
|
||||||
value: 'awsExecRead'
|
value: 'awsExecRead',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Bucket Owner Full Control',
|
name: 'Bucket Owner Full Control',
|
||||||
value: 'bucketOwnerFullControl'
|
value: 'bucketOwnerFullControl',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Bucket Owner Read',
|
name: 'Bucket Owner Read',
|
||||||
value: 'bucketOwnerRead'
|
value: 'bucketOwnerRead',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Private',
|
name: 'Private',
|
||||||
|
@ -133,15 +133,15 @@ export const fileFields = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Public Read',
|
name: 'Public Read',
|
||||||
value: 'publicRead'
|
value: 'publicRead',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Public Read Write',
|
name: 'Public Read Write',
|
||||||
value: 'publicReadWrite'
|
value: 'publicReadWrite',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: 'private',
|
default: 'private',
|
||||||
description: 'The canned ACL to apply to the object.'
|
description: 'The canned ACL to apply to the object.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Grant Full Control',
|
displayName: 'Grant Full Control',
|
||||||
|
@ -399,7 +399,7 @@ export const fileFields = [
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
operation: [
|
operation: [
|
||||||
'upload'
|
'upload',
|
||||||
],
|
],
|
||||||
resource: [
|
resource: [
|
||||||
'file',
|
'file',
|
||||||
|
@ -416,13 +416,13 @@ export const fileFields = [
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
operation: [
|
operation: [
|
||||||
'upload'
|
'upload',
|
||||||
],
|
],
|
||||||
resource: [
|
resource: [
|
||||||
'file',
|
'file',
|
||||||
],
|
],
|
||||||
binaryData: [
|
binaryData: [
|
||||||
false
|
false,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -438,13 +438,13 @@ export const fileFields = [
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
operation: [
|
operation: [
|
||||||
'upload'
|
'upload',
|
||||||
],
|
],
|
||||||
resource: [
|
resource: [
|
||||||
'file',
|
'file',
|
||||||
],
|
],
|
||||||
binaryData: [
|
binaryData: [
|
||||||
true
|
true,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -476,19 +476,19 @@ export const fileFields = [
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
name: 'Authenticated Read',
|
name: 'Authenticated Read',
|
||||||
value: 'authenticatedRead'
|
value: 'authenticatedRead',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'AWS Exec Read',
|
name: 'AWS Exec Read',
|
||||||
value: 'awsExecRead'
|
value: 'awsExecRead',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Bucket Owner Full Control',
|
name: 'Bucket Owner Full Control',
|
||||||
value: 'bucketOwnerFullControl'
|
value: 'bucketOwnerFullControl',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Bucket Owner Read',
|
name: 'Bucket Owner Read',
|
||||||
value: 'bucketOwnerRead'
|
value: 'bucketOwnerRead',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Private',
|
name: 'Private',
|
||||||
|
@ -496,15 +496,15 @@ export const fileFields = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Public Read',
|
name: 'Public Read',
|
||||||
value: 'publicRead'
|
value: 'publicRead',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Public Read Write',
|
name: 'Public Read Write',
|
||||||
value: 'publicReadWrite'
|
value: 'publicReadWrite',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: 'private',
|
default: 'private',
|
||||||
description: 'The canned ACL to apply to the object.'
|
description: 'The canned ACL to apply to the object.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Grant Full Control',
|
displayName: 'Grant Full Control',
|
||||||
|
@ -705,7 +705,7 @@ export const fileFields = [
|
||||||
description: '',
|
description: '',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
description: 'Optional extra headers to add to the message (most headers are allowed).',
|
description: 'Optional extra headers to add to the message (most headers are allowed).',
|
||||||
},
|
},
|
||||||
|
@ -755,7 +755,7 @@ export const fileFields = [
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
operation: [
|
operation: [
|
||||||
'download'
|
'download',
|
||||||
],
|
],
|
||||||
resource: [
|
resource: [
|
||||||
'file',
|
'file',
|
||||||
|
|
|
@ -97,7 +97,7 @@ export const folderFields = [
|
||||||
name: 'parentFolderKey',
|
name: 'parentFolderKey',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Parent folder you want to create the folder in'
|
description: 'Parent folder you want to create the folder in',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Requester Pays',
|
displayName: 'Requester Pays',
|
||||||
|
@ -141,7 +141,7 @@ export const folderFields = [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
default: 'standard',
|
default: 'standard',
|
||||||
description: 'Amazon S3 storage classes.'
|
description: 'Amazon S3 storage classes.',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
|
@ -585,7 +585,7 @@ export class AwsSes implements INodeType {
|
||||||
}
|
}
|
||||||
|
|
||||||
return returnData;
|
return returnData;
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -756,7 +756,7 @@ export class AwsSes implements INodeType {
|
||||||
const params = [
|
const params = [
|
||||||
`Template.TemplateName=${templateName}`,
|
`Template.TemplateName=${templateName}`,
|
||||||
`Template.SubjectPart=${subjectPart}`,
|
`Template.SubjectPart=${subjectPart}`,
|
||||||
`Template.HtmlPart=<h1>${htmlPart}</h1>`
|
`Template.HtmlPart=<h1>${htmlPart}</h1>`,
|
||||||
];
|
];
|
||||||
|
|
||||||
if (additionalFields.textPart) {
|
if (additionalFields.textPart) {
|
||||||
|
|
|
@ -181,7 +181,7 @@ export const imageFields = [
|
||||||
type: 'string',
|
type: 'string',
|
||||||
default: '',
|
default: '',
|
||||||
description: 'Replacement image url you want to use (must be publicly viewable)',
|
description: 'Replacement image url you want to use (must be publicly viewable)',
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@ -202,7 +202,7 @@ export const imageFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'get',
|
'get',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'Unique identifier for the image.',
|
description: 'Unique identifier for the image.',
|
||||||
|
|
|
@ -49,7 +49,7 @@ export const templateFields = [
|
||||||
],
|
],
|
||||||
operation: [
|
operation: [
|
||||||
'get',
|
'get',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
description: 'Unique identifier for the template.',
|
description: 'Unique identifier for the template.',
|
||||||
|
|
|
@ -35,7 +35,7 @@ export class BitbucketTrigger implements INodeType {
|
||||||
{
|
{
|
||||||
name: 'bitbucketApi',
|
name: 'bitbucketApi',
|
||||||
required: true,
|
required: true,
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
webhooks: [
|
webhooks: [
|
||||||
{
|
{
|
||||||
|
@ -75,9 +75,9 @@ export class BitbucketTrigger implements INodeType {
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
resource: [
|
resource: [
|
||||||
'user'
|
'user',
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
loadOptionsMethod: 'getUsersEvents',
|
loadOptionsMethod: 'getUsersEvents',
|
||||||
|
@ -94,9 +94,9 @@ export class BitbucketTrigger implements INodeType {
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
resource: [
|
resource: [
|
||||||
'team'
|
'team',
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
loadOptionsMethod: 'getTeams',
|
loadOptionsMethod: 'getTeams',
|
||||||
|
@ -112,9 +112,9 @@ export class BitbucketTrigger implements INodeType {
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
resource: [
|
resource: [
|
||||||
'team'
|
'team',
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
loadOptionsMethod: 'getTeamEvents',
|
loadOptionsMethod: 'getTeamEvents',
|
||||||
|
@ -131,9 +131,9 @@ export class BitbucketTrigger implements INodeType {
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
resource: [
|
resource: [
|
||||||
'repository'
|
'repository',
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
loadOptionsMethod: 'getRepositories',
|
loadOptionsMethod: 'getRepositories',
|
||||||
|
@ -149,9 +149,9 @@ export class BitbucketTrigger implements INodeType {
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
resource: [
|
resource: [
|
||||||
'repository'
|
'repository',
|
||||||
]
|
],
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
typeOptions: {
|
typeOptions: {
|
||||||
loadOptionsMethod: 'getRepositoriesEvents',
|
loadOptionsMethod: 'getRepositoriesEvents',
|
||||||
|
@ -351,7 +351,7 @@ export class BitbucketTrigger implements INodeType {
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
workflowData: [
|
workflowData: [
|
||||||
this.helpers.returnJsonArray(req.body)
|
this.helpers.returnJsonArray(req.body),
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ export async function bitbucketApiRequest(this: IHookFunctions | IExecuteFunctio
|
||||||
qs,
|
qs,
|
||||||
body,
|
body,
|
||||||
uri: uri ||`https://api.bitbucket.org/2.0${resource}`,
|
uri: uri ||`https://api.bitbucket.org/2.0${resource}`,
|
||||||
json: true
|
json: true,
|
||||||
};
|
};
|
||||||
options = Object.assign({}, options, option);
|
options = Object.assign({}, options, option);
|
||||||
if (Object.keys(options.body).length === 0) {
|
if (Object.keys(options.body).length === 0) {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue