Commit graph

263 commits

Author SHA1 Message Date
Iván Ovejero 1d27a9e87e
Improve node error handling (#1309)
* Add path mapping and response error interfaces

* Add error handling and throwing functionality

* Refactor error handling into a single function

* Re-implement error handling in Hacker News node

* Fix linting details

* Re-implement error handling in Spotify node

* Re-implement error handling in G Suite Admin node

* 🚧 create basic setup NodeError

* 🚧 add httpCodes

* 🚧 add path priolist

* 🚧 handle statusCode in error, adjust interfaces

* 🚧 fixing type issues w/Ivan

* 🚧 add error exploration

* 👔 fix linter issues

* 🔧 improve object check

* 🚧 remove path passing from NodeApiError

* 🚧 add multi error + refactor findProperty method

* 👔 allow any

* 🔧 handle multi error message callback

*  change return type of callback

*  add customCallback to MultiError

* 🚧 refactor to use INode

* 🔨 handle arrays, continue search after first null property found

* 🚫 refactor method access

* 🚧 setup NodeErrorView

*  change timestamp to Date.now

* 📚 Add documentation for methods and constants

* 🚧 change message setting

* 🚚 move NodeErrors to workflow

*  add new ErrorView for Nodes

* 🎨 improve error notification

* 🎨 refactor interfaces

*  add WorkflowOperationError, refactor error throwing

* 👕 fix linter issues

* 🎨 rename param

* 🐛 fix handling normal errors

*  add usage of NodeApiError

* 🎨 fix throw new error instead of constructor

* 🎨 remove unnecessary code/comments

* 🎨 adjusted spacing + updated status messages

* 🎨 fix tab indentation

*  Replace current errors with custom errors (#1576)

*  Introduce NodeApiError in catch blocks

*  Introduce NodeOperationError in nodes

*  Add missing errors and remove incompatible

*  Fix NodeOperationError in incompatible nodes

* 🔧 Adjust error handling in missed nodes

PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes

* 🔨 Adjust Strava Trigger node error handling

* 🔨 Adjust AWS nodes error handling

* 🔨 Remove duplicate instantiation of NodeApiError

* 🐛 fix strava trigger node error handling

* Add XML parsing to NodeApiError constructor (#1633)

* 🐛 Remove type annotation from catch variable

*  Add XML parsing to NodeApiError

*  Simplify error handling in Rekognition node

*  Pass in XML flag in generic functions

* 🔥 Remove try/catch wrappers at call sites

* 🔨 Refactor setting description from XML

* 🔨 Refactor let to const in resource loaders

*  Find property in parsed XML

*  Change let to const

* 🔥 Remove unneeded try/catch block

* 👕 Fix linting issues

* 🐛 Fix errors from merge conflict resolution

*  Add custom errors to latest contributions

* 👕 Fix linting issues

*  Refactor MongoDB helpers for custom errors

* 🐛 Correct custom error type

*  Apply feedback to A nodes

*  Apply feedback to missed A node

*  Apply feedback to B-D nodes

*  Apply feedback to E-F nodes

*  Apply feedback to G nodes

*  Apply feedback to H-L nodes

*  Apply feedback to M nodes

*  Apply feedback to P nodes

*  Apply feedback to R nodes

*  Apply feedback to S nodes

*  Apply feedback to T nodes

*  Apply feedback to V-Z nodes

*  Add HTTP code to iterable node error

* 🔨 Standardize e as error

* 🔨 Standardize err as error

*  Fix error handling for non-standard nodes

Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>

Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 18:33:36 +02:00
Omar Ajoue 726a99bf69
Add Activation Trigger (#1570)
*  n8n start trigger node

* first declaration of WorkflowActivationMode

* implement first WorkflowActivationMode: 'init', 'create', 'update', 'activate'

* fix Server missing id

* add activation infos to triggers

* remove WorkflowActivationMode from webhook execution function

* add some missing activation and add manual activation

* clean up and fix some code

* fix UnhandledPromiseRejectionWarning: Error: Overwrite NodeExecuteFunctions.getExecuteTriggerFunctions.emit function!

* fix spaces

* use a better name for the node

* fix ident in package.json

* Contributions to lublak's PR #1287

* Fixed linting issues and change the way parameters are displayed

*  Fix name and minor improvements

Co-authored-by: lublak <lublak.de@gmail.com>
Co-authored-by: lublak <44057030+lublak@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-03-23 19:08:47 +01:00
Jan Oberhauser ddce679569 Minor changes to directories in binary data 2021-03-18 18:13:24 +01:00
Jan Oberhauser d65e8ee73b 🔀 Merge branch 'binary-file-path' of https://github.com/lublak/n8n into lublak-binary-file-path 2021-03-18 13:20:26 +01:00
Iván Ovejero 0dcaccefa7
GoToWebinar node (#1422)
* Create scaffolding for node

* Add SVG logo

* Create scaffolding for generic functions

* Add index for descriptions

* Simplify retrieval of details

* Introduce minor fixes in generic functions

* Add attendee description

* Fix attendee description operation

* Add coorganizer description

* Add panelist description

* Add registrant description

* Add session description

* Add webinar description

* Register node and credentials

* Add scaffolding for credentials

* Minor creds fixes

* Fix SVG icon size and position

* Fix capitalization in description

* Fix credentials connection

* Add attendee fields

* Populate webinar description

* Remove organizer key from params

* Add timezones array constant

* Implement webinar:create

* Implement webinar:delete

* Convert times to fixed collection

* Add missing segments to endpoints

* Fix webinar:update operation

* Implement all-items request

* Add params for session:getAll

* Add params for webinar:getAll

* Implement session:getAll and webinar:getAll

* Implement session:get and session:getDetails

* Implement coorganizer:create

* Implement coorganizer:delete

* Implement coorganizer:getAll

* Implement coorganizer:delete

* Refactor time range for getAll operations

* Implement coorganizer:reinvite

* Implement panelist:create and panelist:getAll

* Implement panelist:delete and panelist:reinvite

* Remove array body helper types

* Implement registrant:create and registrant:getAll

* Implement registrant:delete

* Prettify error handling

* Add returnAll toggle and limit for all operations

* Preload webinars

* Preload webinar key in more fields

* Refactor getAll as handler

* Add descriptions for session

* Add descriptions for attendee

* Add descriptions for co-organizer

* Add descriptions for panelist

* Add descriptions for registrant

* Add descriptions for webinar

* Add 403 check for refresh token

* Fix defaults for webinar loader

* Add descriptions for webinar types

*  Improvements

* Remove unneeded return type annotation

* Add handler for continue on fail

* Remove 403 check in error handler

The Go To Webinar API returns 403 for a range of various errors, so this check ended up overriding more specific error messages not related to 403 Forbidden errors.

* Remove logging

*  Small improvement

*  Minor improvements

*  Improvements

*  Minor improvements

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-02-22 08:49:00 +01:00
Omar Ajoue 6ee9501d16
🐛 Fixing execution history for integrated workflows. (#1469)
* Fixing execution history for integrated workflows.

*  Minor improvements

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-02-20 13:51:06 +01:00
lublak cb9f31c49d add dir to different positions 2021-02-15 13:25:30 +01:00
Omar Ajoue 7a3aaf8a24
Unify execution id + Queue system (#1340)
* Unify execution ID across executions

* Fix indentation and improved comments

* WIP: saving data after each node execution

* Added on/off to save data after each step, saving initial data and retries working

* Fixing lint issues

* Fixing more lint issues

*  Add bull to execute workflows

* 👕 Fix lint issue

*  Add graceful shutdown to worker

*  Add loading staticData to worker

* 👕 Fix lint issue

*  Fix import

* Changed tables metadata to add nullable to stoppedAt

* Reload database on migration run

* Fixed reloading database schema for sqlite by reconnecting and fixing postgres migration

* Added checks to Redis and exiting process if connection is unavailable

* Fixing error with new installations

* Fix issue with data not being sent back to browser on manual executions with defined destination

* Merging bull and unify execution id branch fixes

* Main process will now get execution success from database instead of redis

* Omit execution duration if execution did not stop

* Fix issue with execution list displaying inconsistant information information while a workflow is running

* Remove unused hooks to clarify for developers that these wont run in queue mode

* Added active pooling to help recover from Redis crashes

* Lint issues

* Changing default polling interval to 60 seconds

* Removed unnecessary attributes from bull job

*  Improved output on worker job start

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-02-09 08:59:32 +01:00
Jan Oberhauser 5398a06ff2 Add variable $mode 2021-01-29 09:31:40 +01:00
Jan Oberhauser 1dedb3f4b8 Add expression support to credentials 2021-01-24 13:33:57 +01:00
Ben Hesseldieck d395498882
Add support for webhook route parameters (#1343)
* 🚧 add webhookId to URL

* 🚧 add webhookId to webhook entity, 🔧 refactor migrations

* 🚧 🐘 postgres migration

* 🚧 add mySQL migration

* 🚧 refactor mongoDB

* 🚧 add webhookId to IWebhookDb

* 🚧 starting workflow with dynamic route works

*  production dynamic webhooks complete

* 🎨 fix lint issues

* 🔧 dynamic path for webhook-test complete

* 🎨 fix lint issues

* 🎨 fix typescript issue

*  add error message for dynamic webhook-test

* 🔨 improve handling of leading `/`

* 🚧 add webhookId to URL

* 🚧 add webhookId to webhook entity, 🔧 refactor migrations

* 🚧 🐘 postgres migration

* 🚧 add mySQL migration

* 🚧 refactor mongoDB

* 🚧 add webhookId to IWebhookDb

* 🚧 starting workflow with dynamic route works

*  production dynamic webhooks complete

* 🎨 fix lint issues

* 🔧 dynamic path for webhook-test complete

* 🎨 fix lint issues

* 🎨 fix typescript issue

*  add error message for dynamic webhook-test

* 🔨 improve handling of leading `/`

*  Fix issue that tab-title did not get reset on new workflow

* Revert " Fix issue that tab-title did not get reset on new workflow"

This reverts commit 699d0a8946.

* 🔧 reset params before extraction

* 🐘 removing unique constraint for webhookId

* 🚧 handle multiple webhooks per id

* 🔧 enable webhook-test for multiple WH with same id

* 🐘 add migration for postgres

*  add mysql migration

* 🎨 fix lint issue

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-01-23 20:00:32 +01:00
Jan Oberhauser 95315cec60 Add optional sort option if "multipleValues" is set 2020-12-27 00:15:33 +01:00
Ben Hesseldieck f2666e92ff
Add preExecuteHooks (#1151)
*  Save initital data on hook error

* 🚧 update function interface

* 🚧 response webhook with error, 🐛 fix adding preExecutionHooks to hooks

* 🔥 remove execute hook

*  execute preExecute hooks on integrated workflows

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2020-11-13 23:31:27 +01:00
Jan Oberhauser 639bdd2ceb Allow custom documentation URLs on credentials & nodes 2020-11-09 12:23:53 +01:00
Jan Oberhauser 9fee42b2a8 Add shear option, resize with alpha color and fix bug 2020-11-09 11:26:46 +01:00
Jan Oberhauser 66bfcca63f 🐛 Fix issue with IF&Switch node for undefined expressions #1099 2020-10-26 09:43:01 +01:00
Rupenieks 266112a8cb
Clickup OAuth2 support (#649)
* OAuth2 credentials, genericFunctions needed config, UI options for oauth2 support

*  Added options to decide when to to send the bearer

* Fixed "undefined property split" issue

*  Small fix

*  Improvements to ClickUp-Node

*  Improvements

Co-authored-by: Rupenieks <ru@myos,co>
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Ricardo Espinoza <ricardo@n8n.io>
2020-09-16 09:16:06 +02:00
Jan Oberhauser 30ac4f4c2c Extend CredentialType interface with "documentationUrl" property 2020-08-17 11:58:36 +02:00
Jan Oberhauser da0ef0d94c Add "Execute Once" node-setting 2020-08-08 21:11:12 +02:00
Ricardo Espinoza 8370940713
Box Node and Trigger (#765)
*  Box Node and Trigger

*  Improvements

*  small fix

* 🐛 Add missing interface

*   add search operation
2020-07-25 19:58:38 +02:00
Rupenieks 82d94873fc
OPTIONS request support for Production/Test Webhooks (#787)
* 🐛 Fix naming of events in AffinityTrigger Node

* 🚧 OPTIONS allow header response for production webhooks

*  Implemented Allow header for test webhook OPTIONS response

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2020-07-24 16:24:18 +02:00
ricardo 494b1de93f Merge branch 'master' into static-stateless-webhooks 2020-06-22 16:16:50 -04:00
Jan Oberhauser cee5c522de Rename webhookPath parameter on node to webhookId 2020-06-10 16:17:16 +02:00
Jan Oberhauser 5ed86670a8 Make it use of full webhook path more generic 2020-06-10 15:39:15 +02:00
ricardo 91c40367e1 Done 2020-05-27 19:32:56 -04:00
Jan Oberhauser 147c50485c 🔀 Merge branch 'master' into oauth-support 2020-05-12 01:56:27 +02:00
Jan Oberhauser a80af661cc 🔀 Merge branch 'MyCupOfTeaOo-master' 2020-05-05 22:57:36 +02:00
Jan Oberhauser 3d330a94d3 Make it possible to display notes in flow 2020-05-05 17:34:12 +02:00
zou wendi e4cc3a4bc9 features: support jira self-hosted server 2020-05-05 12:07:19 +08:00
ricardo d57d457148 SurveyMonkey trigger 2020-04-26 12:51:27 -05:00
Jan Oberhauser 90fe5113a0 🔀 Merge branch 'master' into oauth-support 2020-04-14 20:54:19 +02:00
Jan Oberhauser c7024ca454 Add "alwaysOutputData" option to nodes 2020-04-12 19:58:30 +02:00
Jan Oberhauser 09e528565f Add $items to expression and Function-Nodes to get all items 2020-04-12 18:42:29 +02:00
Jan Oberhauser 0e7998cbba 🐛 Fix interface for getWorkflow 2020-04-11 10:30:50 +02:00
Jan Oberhauser 9dd9e0d8ba 🔀 Merge branch 'master' into oauth-support 2020-04-04 17:34:10 +02:00
Jan Oberhauser c1853a6ff5 Add functionality to evaluate expression 2020-03-21 17:25:29 +01:00
Jan Oberhauser ce0aaeba7d Improve continueOnFail behaviour 2020-03-17 13:18:04 +01:00
Jan Oberhauser 70286b469e Make workflow metadata available in expresions and
node-functions
2020-02-15 17:07:01 -08:00
Jan Oberhauser 6bff3dc199 Add parameter type "hidden" 2020-02-09 13:33:40 -08:00
Jan Oberhauser eb285ef711 Make it possible to set credentials to fixed values 2020-01-25 23:48:38 -08:00
Jan Oberhauser aa1899f81d Prepare webhooks for multitenancy 2020-01-22 15:06:43 -08:00
Jan Oberhauser 8228b8505f Abstract OAuth signing and make credentials extendable 2020-01-13 20:46:58 -06:00
Jan Oberhauser bf4c8bc3a2 Make it possible to define dependencies for loadOptions 2020-01-04 22:28:09 -06:00
Jan Oberhauser 629ab09135 Add additional possibilities to load workflow 2020-01-02 17:13:53 -06:00
Jan Oberhauser 584033ab4a Add polling support to Trigger-Nodes 2019-12-31 14:27:58 -06:00
Jan Oberhauser 8acc3c5931 Add ExecuteWorkflow-Node 2019-12-19 16:07:55 -06:00
Jan Oberhauser 2d409b6535 Support also numbers as values in options and multiOptions 2019-11-22 00:07:38 +01:00
Jan Oberhauser e3b71c2ed4 Rename function and fix styling 2019-10-20 21:42:34 +02:00
BenoitTallandier 02a7d92fc1 🔃Add unction getCurrentNodeParameters to get currents parameters in loading function 2019-10-20 20:55:49 +02:00
Jan Oberhauser ded2152d61 Make it possible to return custom content-type and data with
webhook
2019-10-16 14:01:39 +02:00
Jan Margeta 50a342b2fb 👕 Fix typo: IWebhookResonseData->IWebhookResponseData 2019-10-11 13:02:44 +02:00
Jan Oberhauser d337cbd805 👕 Replace some double quotes with single ones 2019-09-19 14:14:37 +02:00
Jan Oberhauser 2b2113433f Improve Code-Editor in Function-Nodes 2019-09-04 18:24:49 +02:00
Jan Oberhauser 48ccb36536 Make special variables like $node, $parameter, ... accessible
in Function Nodes
2019-09-04 14:53:39 +02:00
Jan Oberhauser 4d6e25c28e 💥 Fix typo reponse => response 2019-08-28 17:16:09 +02:00
Jan Oberhauser d59a043e3f Run workflows in own independent subprocess 2019-08-08 20:47:08 +02:00
Jan Oberhauser a0b7abed20 Add support for input labels 2019-08-02 15:56:05 +02:00
Jan Oberhauser a9453806b8 Add support for PostgresDB and save date as Date 2019-07-22 20:29:06 +02:00
Jan Oberhauser 32204d35d1 Make it possible to retry node on error 2019-07-18 19:39:54 +02:00
Jan Oberhauser 549a30c267 🐛 Fix display bug with identically named parameters with
dependencies
2019-07-13 19:50:41 +02:00
Jan Oberhauser be9c5622ac Add possibility to define custom node-subtitle for nodes in
UI
2019-07-12 14:14:36 +02:00
Jan Oberhauser 1e0d2cbf1e Add additional helper functions to webhook functionality 2019-07-12 11:33:18 +02:00
Jan Oberhauser 9cb9804eee Initial commit to release 2019-06-23 12:35:23 +02:00