Commit graph

59 commits

Author SHA1 Message Date
Mutasem Aldmour ce066a160f
Remove unnessasry <br/> (#2340)
* introduce analytics

* add user survey backend

* add user survey backend

* set answers on survey submit

Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>

* change name to personalization

* lint

Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>

* N8n 2495 add personalization modal (#2280)

* update modals

* add onboarding modal

* implement questions

* introduce analytics

* simplify impl

* implement survey handling

* add personalized cateogry

* update modal behavior

* add thank you view

* handle empty cases

* rename modal

* standarize modal names

* update image, add tags to headings

* remove unused file

* remove unused interfaces

* clean up footer spacing

* introduce analytics

* refactor to fix bug

* update endpoint

* set min height

* update stories

* update naming from questions to survey

* remove spacing after core categories

* fix bug in logic

* sort nodes

* rename types

* merge with be

* rename userSurvey

* clean up rest api

* use constants for keys

* use survey keys

* clean up types

* move personalization to its own file

Co-authored-by: ahsan-virani <ahsan.virani@gmail.com>

* update parameter inputs to be multiline

* update spacing

* Survey new options (#2300)

* split up options

* fix quotes

* remove unused import

* refactor node credentials

* add user created workflow event (#2301)

* update multi params

* simplify env vars

* fix versionCli on FE

* update personalization env

* clean up node detail settings

* fix event User opened Credentials panel

* fix font sizes across modals

* clean up input spacing

* fix select modal spacing

* increase spacing

* fix input copy

* fix webhook, tab spacing, retry button

* fix button sizes

* fix button size

* add mini xlarge sizes

* fix webhook spacing

* fix nodes panel event

* fix workflow id in workflow execute event

* improve telemetry error logging

* fix config and stop process events

* add flush call on n8n stop

* ready for release

* fix input error highlighting

* revert change

* update toggle spacing

* fix delete positioning

* keep tooltip while focused

* set strict size

* increase left spacing

* fix sort icons

* remove unnessasry <br/>

* remove unnessary break

* remove unnessary margin

* clean unused functionality

* remove unnessary css

* remove duplicate tracking

* only show tooltip when hovering over label

* remove extra space

* add br

* remove extra space

* clean up commas

* clean up commas

* remove extra space

* remove extra space

* rewrite desc

* add commas

* add space

* remove extra space

* add space

* add dot

* update credentials section

* use includes

Co-authored-by: ahsan-virani <ahsan.virani@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-10-27 15:00:13 -05:00
Omar Ajoue 443c2a4d51
Updated node design and node versioning (#1961)
*  introduce versioned nodes

* Export versioned nodes for separate process run

* Add bse node for versioned nodes

* fix node name for versioned nodes

* extend node from nodeVersionedType

* improve nodes base and flow to FE

* revert lib es2019 to es2017

* include version in key to prevent duplicate key

* handle type versions on FE

* clean up

* cleanup nodes base

* add type versions in getNodeParameterOptions

* cleanup

* code review

* code review + add default version to node type description

* remove node default types from store

* 💄 cleanups

* Draft for migrated Mattermost node

* First version of Mattermost node versioned according to node standards

* Correcting deactivate operations name to match currently used one

*  Create utility types

*  Simplify Mattermost types

*  Rename exports for consistency

*  Type channel properties

*  Type message properties

*  Type reaction properties

*  Type user properties

*  Add type import to router

* 🐛 Add missing key

* 🔨 Adjust typo in operation name

* 🔨 Inline exports for channel properties

* 🔨 Inline exports for message properties

* 🔨 Inline exports for reaction properties

* 🔨 Inline exports for user properties

* 🔨 Inline exports for load options

* 👕 Fix lint issue

* 🔨 Inline export for description

* 🔨 Rename descriptions for clarity

* 🔨 Refactor imports/exports for methods

* 🔨 Refactor latest version retrieval

* 🔥 Remove unneeded else clause

When the string literal union is exhausted, the resource key becomes never, so TS disallows wrong key usage.

*  Add overloads to getNodeParameter

*  Improve overload

* 🔥 Remove superfluous INodeVersions type

* 🔨 Relocate pre-existing interface

* 🔥 Remove JSDoc arg descriptions

*  Minor reformatting in transport file

*  Fix API call function type

* Created first draft for Axios requests

* Working version of mattermost node with Axios

* Work in progress for replacing request library

* Improvements to request translations

* Fixed sending files via multipart / form-data

* Fixing translation from request to axios and loading node parameter options

* Improved typing for new http helper

* Added ignore any for specific lines for linting

* Fixed follow redirects changes on http request node and manual execution of previously existing workflow with older node versions

* Adding default headers according to body on httpRequest helper

* Spec error handling and fixed workflows with older node versions

* Showcase how to export errors in a standard format

* Merging master

* Refactored mattermost node to keep files in a uniform structure. Also fix bugs with merges

* Reverting changes to http request node

* Changed nullish comparison and removed repeated code from nodes

* Renamed queryString back to qs and simplified node output

* Simplified some comparisons

* Changed header names to be uc first

* Added default user agent to requests and patch http method support

* Fixed indentation, remove unnecessary file and console log

* Fixed mattermost node name

* Fixed lint issues

* Further fix linting issues

* Further fix lint issues

* Fixed http request helper's return type

Co-authored-by: ahsan-virani <ahsan.virani@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2021-09-21 19:38:24 +02:00
Omar Ajoue 7ce7285f7a
Load credentials from the database (#1741)
* Changes to types so that credentials can be always loaded from DB

This first commit changes all return types from the execute functions
and calls to get credentials to be async so we can use await.

This is a first step as previously credentials were loaded in memory and
always available. We will now be loading them from the DB which requires
turning the whole call chain async.

* Fix updated files

* Removed unnecessary credential loading to improve performance

* Fix typo

*  Fix issue

* Updated new nodes to load credentials async

*  Remove not needed comment

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-08-20 18:57:30 +02:00
Mutasem Aldmour fc6d3ad8c0
Add "Follow All Redirects" option to HTTP Request Node (#2046)
* redirect post/put/delete/patch requests

* add redirect all option

*  Minor improvement

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-08-08 11:27:07 +02:00
Kaito Udagawa 800e5ec97f
Add support of array in querystring (#1914)
*  Add support of array in querystring

In the HTTP Request node, a parameter that appeared multiple times with the same name will be converted into an array.
Any parameters that appeared only once will be kept in the form of a string for backward compatibility.

*  Prefer spread operator
2021-07-10 23:51:35 +02:00
Mutasem Aldmour 276eaea4bf
Clean up node description (#1883)
Co-authored-by: Jan <janober@users.noreply.github.com>
2021-07-03 14:40:16 +02:00
Omar Ajoue 427f25d3d0
Add "Split Into Items" option to HTTP Request node (#1912)
* Added the option to flatten output so we can more easily work with arrays

*  Change parameter name

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-06-23 12:04:50 +02:00
Jan Oberhauser 4c7d3a918b 👕 Fix lint issue 2021-06-12 20:24:13 +02:00
Jan Oberhauser 1d850da9fb Send request of HTTP Request node to browser console when testing 2021-06-12 20:22:55 +02:00
Omar Ajoue 882e2f8e74
Addglobal timeout setting for all http requests except for http request node (#1650)
* Added a global timeout setting for all http requests except for http
node.

The http node explicitly sets a timeout that overrides the default
value.

This is to prevent behaviors when users were expecting that their quests
could take a very long time to execute.

* Removed unnecessary typing from code
2021-04-17 15:15:33 +02:00
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 f225bbbb84
Add type casting to postgres queries (#1600)
* 538 add support for casting types in postgres

* Add typing to postgres insert nodes and removed unnecessary field from crate db

* Added placeholder and description for types in postgres

* Adding tests to insert and changes suggested by Ben

*  Minor improvement

Co-authored-by: mutdmour <mutdmour@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-04-03 16:53:47 +02:00
Jan Oberhauser 44100dc675 Fix bug in HTTP Request node with raw data and file response 2021-03-02 10:18:39 +01:00
Omar Ajoue 9c479abc35
🐛 Fixed batch sizing to work when batchSize = 1 (#1314) 2021-01-07 07:53:48 +01:00
Ricardo Espinoza ea2d0920a8
Add useQueryString option to HTTP Request Node (#1279) 2020-12-29 11:37:06 +01:00
Jan Oberhauser 5c83be18a8 🐛 Fix issue that binary data got reused 2020-12-25 22:59:22 +01:00
Jan Oberhauser cb496b8c4d Small improvements to HTTP Request node 2020-10-26 13:27:29 +01:00
Omar Ajoue 26de4a86c9
Adding throttle to http request node (#1095)
Works by setting a timeout between each batch of requests.
Batch size and interval are configurable.
2020-10-26 13:27:12 +01:00
Jan Oberhauser 546b79bea0 👕 Fix lint issue 2020-10-22 18:00:28 +02:00
Jan Oberhauser 40c2acd77b 👕 Fix lint issue 2020-10-22 15:46:03 +02:00
Jan Oberhauser 4165fad307 🐛 Fix bug with responseFormat "file" for POST-Requests 2020-10-19 09:42:58 +02:00
Jan Oberhauser d827749c1e 🐛 Fix HTTP-Request multipart-form-data/raw bug 2020-10-16 16:05:32 +02:00
Jan Oberhauser 3ba050819a Fix issue that it did set not supported parameters 2020-10-15 08:01:30 +02:00
Jan Oberhauser fe802c8f76 👕 Fix built issue by fixing lint issues 2020-10-01 15:18:47 +02:00
Jan Oberhauser fccbd48937 Run requests in HTTP Request Node in parallel 2020-09-10 16:07:52 +02:00
Jan Oberhauser f4ed583359 🐛 Do not overwrite accept header if set on HTTP Request Node 2020-08-28 17:42:35 +02:00
Ricardo Espinoza abdda858eb
🐛 Fix issue with OAuth2 request (#874) 2020-08-25 18:56:19 +02:00
Rupenieks 5295696e60
OAuth1 support for HTTP Request Node (#781)
* Add OAuth1

*  Added OAuth1 support.

Changes to NodeExecuteFunctions:
- Accommodating to use of both a URL and URI property in request options.
- qs if not set is undefined, so checking for its length returns an error
2020-07-25 10:09:52 +02:00
Ricardo Espinoza db972b384f
🐛 Fixes issue #735 (#743) 2020-07-10 10:38:23 +02:00
ricardo 5e93b37c6e Improvements 2020-06-07 17:29:29 -04:00
ricardo af3d799e5c Oauth1 support and Twitter node 2020-06-01 20:42:44 -04:00
Jan Oberhauser 90fe5113a0 🔀 Merge branch 'master' into oauth-support 2020-04-14 20:54:19 +02:00
Jan Oberhauser fd185671db 🐛 Fix sending none JSON data bug 2020-04-13 22:17:23 +02:00
Jan Oberhauser b1172bdb48 🔀 Merge branch 'master' into oauth-support 2020-04-10 09:48:24 +02:00
Jan Oberhauser 4374b3d914 Small improvement to HTTP Request-Node 2020-04-10 00:44:09 +02:00
ricardo cbf4a921e8 HTTP node improvements 2020-04-08 23:17:09 -04:00
Jan Oberhauser 9dd9e0d8ba 🔀 Merge branch 'master' into oauth-support 2020-04-04 17:34:10 +02:00
Jan Oberhauser d710909bbd Add support to send multiple files with Form-Data Multipart 2020-03-30 10:31:33 +02:00
ricardo bce40148a6 Extended multipart/form-data functionality 2020-03-23 09:11:36 -04:00
Jan Oberhauser ce0aaeba7d Improve continueOnFail behaviour 2020-03-17 13:18:04 +01:00
Jan Oberhauser 8228b8505f Abstract OAuth signing and make credentials extendable 2020-01-13 20:46:58 -06:00
Jan Oberhauser 83c49ddd21 Make possible to send binary-data with HttpRequest-Node 2020-01-10 12:57:01 -06:00
Jan Oberhauser 7b8f88f39e Set reasonable defaults for HTTP Request node "accept" header 2020-01-01 10:28:43 -06:00
Jan Oberhauser e1be291949 Add subtitle to HTTP Request Node 2019-12-28 21:24:14 -06:00
Romain Dunand cfa8713226 Auth & get records management 2019-11-13 00:15:20 +01:00
Jan Oberhauser 5804d908d5 Rename parameter to match others and add dot to descriptions 2019-11-02 21:20:42 +01:00
Leo 644b5455c9 added ability to post raw/string/xml 2019-11-02 10:12:59 +01:00
Jan Oberhauser be8f0b9e35 Make it possible to send Patch-Requests with HttpRequest-Node 2019-10-16 12:32:15 +02:00
Jan Oberhauser ea6ec1aa6c Make it possible to send Form-Data with HttpRequest-Node 2019-10-16 12:26:47 +02:00
Jan Oberhauser 3580ea0e2e Add additional options to "HTTP Request" node 2019-09-19 21:56:04 +02:00