Commit graph

1167 commits

Author SHA1 Message Date
Ricardo Espinoza d417ea7ffa
fix(core): Fix issue that some predefined credentials do not show up on HTTP Request Node (#3556)
* 🐛 Fix issue with credentials that define authenticate method

*  Small improvement

*  Fix typo

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-06-18 14:37:37 -07:00
Ricardo Espinoza c4b63fa999
test(API): Fix issues with Public API tests (#3515) 2022-06-17 22:20:21 -07:00
Iván Ovejero 189009a8b7
refactor(core): Improve DB directory setup (#3502) 2022-06-17 22:15:03 -07:00
Ricardo Espinoza f75f5d711f
fix(core): Fix issue that GET /workflows/:id does not return tags (#3522) 2022-06-17 21:45:18 -07:00
Jan Oberhauser 74e6b06467
fix(core): Do allow OPTIONS requests from any source (#3555) 2022-06-17 19:14:05 +02:00
Jan Oberhauser a62ceee5fa 🔖 Release n8n@0.182.1 2022-06-16 11:24:18 -07:00
Jan Oberhauser c67d2860c7 ⬆️ Set n8n-core@0.122.1 on n8n 2022-06-16 11:21:54 -07:00
Jan Oberhauser 27da115734 🔖 Release n8n@0.182.0 2022-06-14 17:07:01 +00:00
Jan Oberhauser 63157ce3e0 ⬆️ Set n8n-core@0.122.0, n8n-editor-ui@0.148.0, n8n-nodes-base@0.180.0 and n8n-workflow@0.104.0 on n8n 2022-06-14 17:07:01 +00:00
Iván Ovejero b8e3bcc052
refactor(core): Post-release refactorings of Public API (#3495)
*  Post-release refactorings

* 🧪 Add `--forceExit`

* 🛠 typing refactor (#3486)

* 🐛 Fix middleware arguments

* 👕 Fix lint

*  Restore commented out block

Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2022-06-14 09:32:19 -07:00
Iván Ovejero c121952324
fix(core): Fix Public API failing to build on Windows (#3499)
*  Add build script

* 📦 Add dependencies

* 📦 Update package-lock.json

* 👕 Ignore `build.mjs`
2022-06-13 12:36:43 -07:00
Jan Oberhauser dfdbcc1eb3 🔖 Release n8n@0.181.2 2022-06-09 14:02:55 +02:00
Jan Oberhauser f94edd13a5 ⬆️ Set n8n-core@0.121.3 on n8n 2022-06-09 14:02:19 +02:00
Jan Oberhauser 22281f4ff9 🔖 Release n8n@0.181.1 2022-06-09 09:16:45 +02:00
Jan Oberhauser 64414fb7a6 ⬆️ Set n8n-core@0.121.2 on n8n 2022-06-09 09:15:31 +02:00
Jan Oberhauser 9a933dcebb 🔖 Release n8n@0.181.0 2022-06-08 19:27:00 +00:00
Jan Oberhauser deec0b0dcc ⬆️ Set n8n-core@0.121.0, n8n-editor-ui@0.147.0, n8n-nodes-base@0.179.0 and n8n-workflow@0.103.0 on n8n 2022-06-08 19:27:00 +00:00
Ricardo Espinoza a18081d749
feat: Add n8n Public API (#3064)
*  Inicial setup

*  Add authentication handler

*  Add GET /users route

*  Improvements

* 👕 Fix linting issues

*  Add GET /users/:identifier endpoint

*  Add POST /users endpoint

*  Add DELETE /users/:identifier endpoint

*  Return error using express native functions

* 👕 Fix linting issue

*  Possibility to add custom middleware

*  Refactor POST /users

*  Refactor DELETE /users

*  Improve cleaning function

*  Refactor GET /users and /users/:identifier

*  Add API spec to route

*  Add raw option to response helper

* 🐛 Fix issue adding custom middleware

*  Enable includeRole parameter in GET /users/:identifier

*  Fix linting issues after merge

*  Add missing config variable

*  General improvements

 asasas

*  Add POST /users tests

* Debug public API tests

* Fix both sets of tests

*  Improvements

*  Load api versions dynamically

*  Add endpoints to UM to create/delete an API Key

*  Add index to apiKey column

* 👕 Fix linting issue

*  Clean open api spec

*  Improvements

*  Skip tests

* 🐛 Fix bug with test

*  Fix issue with the open api spec

*  Fix merge issue

*  Move token enpoints from /users to /me

*  Apply feedback to openapi.yml

*  Improvements to api-key endpoints

* 🐛 Fix test to suport API dynamic loading

*  Expose swagger ui in GET /{version}/docs

*  Allow to disable public api via env variable

*  Change handlers structure

* 🚧 WIP create credential, delete credential complete

* 🐛 fix route for creating api key

*  return api key of authenticated user

*  Expose public api activation to the settings

* ⬆️ Update package-lock.json file

*  Add execution resource

*  Fix linting issues

* 🛠 conditional public api endpoints excluding

* ️ create credential complete

*  Added n8n-card component. Added spacing utility classes.

* ♻️ Made use of n8n-card in existing components.

*  Added api key setup view.

*  Added api keys get/create/delete actions.

*  Added public api permissions handling.

* ♻️ Temporarily disabling card tests.

* ♻️ Changed translations. Storing api key only in component.

*  Added utilities storybook entry

* ♻️ Changed default value for generic copy input.

* 🧹 clean up createCredential

*  Add workflow resource to openapi spec

* 🐛 Fix naming with env variable

*  Allow multifile openapi spec

*  Add POST /workflows/:workflowId/activate

* fix up view, fix issues

* remove delete api key modal

* remove unused prop

* clean up store api

* remove getter

* remove unused dispatch

* fix component size to match

* use existing components

* match figma closely

* fix bug when um is disabled in sidebar

* set copy input color

* remove unused import

*  Remove css path

*  Add POST /workflows/:workflowId/desactivate

*  Add POST /workflows

* Revert " Remove css path"

a3d0a71719

* attempt to fix docker image issue

* revert dockerfile test

* disable public api

* disable api differently

* Revert "disable api differently"

b70e29433e

* Revert "disable public api"

886e5164fb

* remove unused box

*  PUT /workflows/:workflowId

*  Refactor workflow endpoints

*  Refactor executions endpoints

*  Fix typo

*  add credentials tests

*  adjust users tests

* update text

* add try it out link

*  Add delete, getAll and get to the workflow resource

* address spacing comments

* ️ apply correct structure

*  Add missing test to user resource and fix some issues

*  Add workflow tests

*  Add missing workflow tests and fix some issues

*  Executions tests

*  finish execution tests

*  Validate credentials data depending on type

* ️ implement review comments

* 👕 fix lint issues

*  Add apiKey to sanatizeUser

*  Fix issues with spec and tests

*  Add new structure

*  Validate credentials type and properties

*  Make all endpoints except /users independent on UM

*  Add instance base path to swagger UI

*  Remove testing endpoints

*  Fix issue with openapi tags

*  Add endpoint GET /credentialTypes/:id/schema

* 🐛 Fix issue adding json middleware to public api

*  Add API playground path to FE

*  Add telemetry and external hooks

* 🐛 Fix issue with user tests

*  Move /credentialTypes under /credentials

*  Add test to GET /credentials/schema/:id

* 🛠 refactor schema naming

*  Add DB migrations
asas

*  add tests for crd apiKey

*  Added API View telemetry events.

*  Remove rsync from the building process as it is missing on alpine base image

*  add missing BE telemetry events

* 🐛 Fix credential tests

*  address outstanding feedback

* 🔨 Remove move:openapi script

* ⬆️ update dependency

* ⬆️ update package-lock.json

* 👕 Fix linting issue

* 🐛 Fix package.json issue

* 🐛 fix migrations and tests

* 🐛 fix typos + naming

* 🚧 WIP fixing tests

*  Add json schema validation

*  Add missing fields to node schema

*  Add limit max upper limit

*  Rename id paths

* 🐛 Fix tests

* Add package-lock.jsonto custom dockerfile

* ⬆️ Update package-lock.json

* 🐛 Fix issue with build

* ✏️ add beta label to api view

* 🔥 Remove user endpoints

*  Add schema examples to GET /credentials/schema/:id

* 🔥 Remove user endpoints tests

* 🐛 Fix tests

* 🎨 adapt points from design review

* 🔥 remove unnecessary text-align

* ️ update UI

* 🐛 Fix issue with executions filter

*  Add tags filter to GET /workflows

*  Add missing error messages

*  add and update public api tests

*  add tests for owner activiating/deactivating non-owned wfs

* 🧪 add tests for filter for tags

* 🧪 add tests for more filter params

* 🐛 fix inclusion of tags

* 🛠 enhance readability

* ️ small refactorings

* 💄 improving readability/naming

*  Set API latest version dinamically

* Add comments to toJsonSchema function

*  Fix issue

*  Make execution data usable

*  Fix validation issue

*  Rename data field and change parameter and options

* 🐛 Fix issue parameter "detailsFieldFormat" not resolving correctly

* Skip executions tests

* skip workflow failing test

* Rename details property to data

*  Add includeData parameter

* 🐛 Fix issue with openapi spec

* 🐛 Fix linting issue

*  Fix execution schema

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
Co-authored-by: Mutasem <mutdmour@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-06-08 20:53:12 +02:00
Jan Oberhauser 759d625e0d 🔖 Release n8n@0.180.0 2022-06-07 19:46:05 +00:00
Jan Oberhauser 938e952a71 ⬆️ Set n8n-core@0.120.0, n8n-editor-ui@0.146.0, n8n-nodes-base@0.178.0 and n8n-workflow@0.102.0 on n8n 2022-06-07 19:46:05 +00:00
Jan Oberhauser b36c290d78 refactor(core): Emit different error for issue in execution or trigger 2022-06-07 15:43:47 +02:00
Jan Oberhauser b5535e4a62
feat(core): Run Error Workflow also on trigger activation error (#3470)
* feat(core): Run Error Workflow also when workflow gets deactivated
or could not be activated on startup because of error
R#

*  Add missing file
2022-06-06 09:17:35 +02:00
Jan Oberhauser eb766e2ced refactor(core): Remove a floating promise 2022-06-04 12:33:49 +02:00
Iván Ovejero 58ecadf53c
fix(core): Fix user-management:reset command (#3403)
* 🐛 Fix `email` setting

* 🧪 Add test

* 🧪 Add expectation for user email

*  Replace request with helper
2022-06-03 17:44:34 +02:00
Iván Ovejero 6bccafb355
test: Add timeout to beforeAll in users suite (#3433) 2022-06-03 17:41:29 +02:00
Omar Ajoue 4b8472b7bb
refactor(core): Deduplicate encryption logic (#3434)
*  added function to credentials helper

* Refactor function name

* Fix lint issues

Co-authored-by: Michael Kret <michael.k@radency.com>
2022-06-03 17:39:44 +02:00
Jan Oberhauser bdb84130d6
feat(core): Add support for pairedItem (beta) (#3012)
*  Add pairedItem support

* 👕 Fix lint issue

* 🐛 Fix resolution in frontend

* 🐛 Fix resolution issue

* 🐛 Fix resolution in frontend

* 🐛 Fix another resolution issue in frontend

*  Try to automatically add pairedItem data if possible

*  Cleanup

*  Display expression errors in editor UI

* 🐛 Fix issue that it did not display errors in production

* 🐛 Fix auto-fix of missing pairedItem data

* 🐛 Fix frontend resolution for not executed nodes

*  Fail execution on pairedItem resolve issue and display information
about itemIndex and runIndex

*  Allow that pairedItem is only set to number if runIndex is 0

*  Improve Expression Errors

*  Remove no longer needed code

*  Make errors more helpful

*  Add additional errors

* 👕 Fix lint issue

*  Add pairedItem support to core nodes

*  Improve support in Merge-Node

*  Fix issue with not correctly converted incoming pairedItem data

* 🐛 Fix frontend resolve issue

* 🐛 Fix frontend parameter name display issue

*  Improve errors

* 👕 Fix lint issue

*  Improve errors

*  Make it possible to display parameter name in error messages

*  Improve error messages

*  Fix error message

*  Improve error messages

*  Add another error message

*  Simplify
2022-06-03 17:25:07 +02:00
Mutasem Aldmour 15a20d257d
feat(core): Add support to import/export tags (#3130)
* Export and Import Workflow Tags

Support exporting and importing tags of workflows via frontend and cli.

On export, all tag data is included in the json.
- id
- name
- updatedAt
- createdAt

When importing a workflow json to n8n we:
- first check if a tag with the same id and createdAt date exists in the
  database, then we can assume the tag is identical. Changes on the name
  of the tag are now preserved.
- check if a tag with the same name exists on the database.
- create a new tag with the given name.

* clean up fe export

* remove usage count

* return updatedat, createdat

* fix tags import

* move logic from workflow package

* refactor import

* check for tags before import

* update checks on type

* fix on import

* fix build issues

* fix type issue

* remove unnessary ?

* update tag helpers so only name is required

* fix tag import

* add don't replace existing tags

* fix build issue

* address comments

* fix with promise.all

* update setting tags

* update check

* fix existing check

* add helper

* fix duplication

* fix multiple same tags bug

* fix db bugs

* add more validation on workflow type

* fix validation

* disable importing tags on copy paste

Co-authored-by: Luca Berneking <l.berneking@mittwald.de>
2022-06-02 12:39:42 +02:00
Omar Ajoue 042b8daf1c
fix(core): Fix crashes in queue mode (#3397)
* Add catch block to avoid crashes when running in queue mode

* Throwing errors that happen in worker so process stops
2022-06-02 12:17:24 +02:00
Jan Oberhauser d2ef76c494 🔖 Release n8n@0.179.0 2022-05-30 12:10:46 +00:00
Jan Oberhauser 5ceec13f9f ⬆️ Set n8n-core@0.119.0, n8n-editor-ui@0.145.0, n8n-nodes-base@0.177.0 and n8n-workflow@0.101.0 on n8n 2022-05-30 12:10:46 +00:00
Jan Oberhauser b851289001
feat(RabbitMQ Trigger Node): Make message acknowledgement and parallel processing configurable (#3385)
* feat(RabbitMQ Trigger Node): Make message acknowledgement and concurrent
processing configurable

*  Make sure that messages do not get executed multiple times

* 👕 Fix lint issue

* 🐛 Fix issue that for manual executions in "own" mode messages got
know acknowledged

*  Increment count now that console.log got removed

*  Improvements

*  Fix default value

*  Improve display name
2022-05-30 12:16:44 +02:00
Jan Oberhauser d7c6833dc3 refactor(core): Improve error message 2022-05-30 12:05:43 +02:00
Iván Ovejero b49d493653
fix(core): Fix migrations on non-public Postgres schema (#3356)
* 🐛 Fix UM migration

*  Account for schema in `search_path`

* 🔥 Remove unneeded schema refs

* 🧪 Account for alt schema in DB testing

*  Add schema to `IncreaseTypeVarcharLimit`

*  Set `search_path` in every migration

*  Set `search_path` in down migrations
2022-05-30 11:33:17 +02:00
Ben Hesseldieck 56c07a45d5
Update URLs to n8n.io API (#3391) 2022-05-30 11:29:31 +02:00
Jan Oberhauser 1910299a88 fix(core): Fix issue that "closeFunction" got called twice 2022-05-27 16:05:16 +02:00
Jan Oberhauser d24232d0c4 🔖 Release n8n@0.178.2 2022-05-25 10:24:05 +02:00
Jan Oberhauser 582f73afbb ⬆️ Set n8n-editor-ui@0.144.2 on n8n 2022-05-25 10:23:35 +02:00
Jan Oberhauser 1199493826 🔖 Release n8n@0.178.1 2022-05-24 18:30:50 +02:00
Jan Oberhauser 5b6cfce818 ⬆️ Set n8n-editor-ui@0.144.1 on n8n 2022-05-24 18:30:13 +02:00
Jan Oberhauser b6bdfa46da 🔖 Release n8n@0.178.0 2022-05-24 09:49:50 +00:00
Jan Oberhauser b73a2a1cdc ⬆️ Set n8n-core@0.118.0, n8n-editor-ui@0.144.0, n8n-nodes-base@0.176.0 and n8n-workflow@0.100.0 on n8n 2022-05-24 09:49:50 +00:00
Iván Ovejero 336fc9e2a8
feat(core): Allow credential reuse on HTTP Request node (#3228)
*  Create controller

*  Mount controller

* ✏️ Add error messages

*  Create scopes fetcher

*  Account for non-existent credential type

* 📘 Type scopes request

*  Adjust error message

* 🧪 Add tests

*  Introduce simple node versioning

*  Add example how to read version in node-code for custom logic

* 🐛 Fix setting of parameters

* 🐛 Fix another instance where it sets the wrong parameter

*  Remove unnecessary TOODs

*  Re-version HTTP Request node

* 👕 Satisfy linter

*  Retrieve node version

*  Undo Jan's changes to Set node

* 🧪 Fix CI/CD for `/oauth2-credential` tests (#3230)

* 🐛 Fix notice warning missing background color (#3231)

* 🐛 Check for generic auth in node cred types

*  Refactor credentials dropdown for HTTP Request node (#3222)

*  Discoverability flow (#3229)

*  Added node credentials type proxy. Changed node credentials input order.

*  Add computed property from versioning branch

* 🐛 Fix cred ref lost and unsaved

*  Make options consistent with cred type names

*  Use prop to set component order

*  Use constant and version

*  Fix rendering for generic auth creds

*  Mark as required on first selection

*  Implement discoverability flow

*  Mark as required on subsequent selections

*  Fix marking as required after cred deletion

*  Refactor to clean up

*  Detect position automatically

*  Add i18n to option label

*  Hide subtitle for custom action

*  Detect active credential type

*  Prop drilling to re-render select

* 🔥 Remove unneeded property

* ✏️ Rename arg

* 🔥 Remove unused import

* 🔥 Remove unneeded getters

* 🔥 Remove unused import

*  Generalize cred component positioning

*  Set up request

* 🐛 Fix edge case in endpoint

*  Display scopes alert box

*  Revert "Generalize cred comp positioning"

This reverts commit 75eea89273.

*  Consolidate HTTPRN check

*  Fix hue percentage to degree

* 🔥 Remove unused import

* 🔥 Remove unused import

* 🔥 Remove unused class

* 🔥 Remove unused import

* 📘 Create type for HTTPRN v2 auth params

* ✏️ Rename check

* 🔥 Remove unused import

* ✏️ Add i18n to `reportUnsetCredential()`

*  Refactor Alex's spacing changes

*  Post-merge fixes

*  Add docs link

* 🔥 Exclude Notion OAuth cred

* ✏️ Update copy

* ✏️ Rename param

* 🎨 Reposition notice and simplify styling

* ✏️ Update copy

* ✏️ Update copy

*  Hide params during custom action

*  Show notice if any cred type supported

* 🐛 Prevent scopes text overflow

* 🔥 Remove superfluous check

* ✏️ Break up docstring

* 🎨 Tweak notice styling

*  Reorder cred param in Webhook node

* ✏️ Shorten cred name in scopes notice

* 🧪 Update Notice snapshots

* 🐛 Fix check when `globalRole` is `undefined`

*  Revert 3f2c4a6

*  Apply feedback from Product

* 🧪 Update snapshot

*  Adjust regex expansion pattern for singular

* 🔥 Remove unused import

* 🔥 Remove logging

*  Make `somethingElse` key more unique

*  Move something else to constants

*  Consolidate notice component

*  Apply latest feedback

* 🧪 Update tests

* 🧪 Update snapshot

* ✏️ Fix singular version

* 🧪 Finalize tests

* ✏️ Rename constant

* 🧪 Expand tests

* 🔥 Remove `truncate` prop

* 🚚 Move scopes fetching to store

* 🚚 Move method to component

*  Use constant

*  Refactor `Notice` component

* 🧪 Update tests

* 🔥 Remove unused keys

*  Inject custom API call option

* 🔥 Remove unused props

* 🎨 Use `compact` prop

* 🧪 Update snapshots

* 🚚 Move scopes to store

* 🚚 Move `nodeCredentialTypes` to parent

* ✏️ Rename cred types per branding

* 🐛 Clear scopes when none

*  Add default

* 🚚 Move `newHttpRequestNodeCredentialType` to parent

* 🔥 Remove test data

*  Separate lines for readability

*  Change reference from node to node name

* ✏️ Rename i18n keys

*  Refactor OAuth check

* 🔥 Remove unused key

* 🚚 Move `OAuth1/2 API` to i18n

*  Refactor `skipCheck`

*  Add `stopPropagation` and `preventDefault`

* 🚚 Move active credential scopes logic to store

* 🎨 Fix spacing for `NodeWebhooks` component

*  Implement feedback

*  Update HTTPRN default and issue copy

* Refactor to use `CredentialsSelect` param (#3304)

*  Refactor into cred type param

*  Componentize scopes notice

* 🔥 Remove unused data

* 🔥 Remove unused `loadOptions`

*  Componentize `NodeCredentialType`

* 🐛 Fix param validation

* 🔥 Remove dup methods

*  Refactor all references to `isHttpRequestNodeV2`

* 🎨 Fix styling

* 🔥 Remove unused import

* 🔥 Remove unused properties

* 🎨 Fix spacing for Pipedrive Trigger node

* 🎨 Undo Webhook node styling change

* 🔥 Remove unused style

*  Cover `httpHeaderAuth` edge case

* 🐛 Fix `this.node` reference

* 🚚 Rename to `credentialsSelect`

* 🐛 Fix mistaken renaming

*  Set one attribute per line

*  Move condition to instantiation site

* 🚚 Rename prop

*  Refactor away `prepareScopesNotice`

* ✏️ Rename i18n keys

* ✏️ Update i18n calls

* ✏️ Add more i18n keys

* 🔥 Remove unused props

* ✏️ Add explanatory comment

*  Adjust check in `hasProxyAuth`

*  Refactor `credentialSelected` from prop to event

*  Eventify `valueChanged`, `setFocus`, `onBlur`

*  Eventify `optionSelected`

*  Add `noDataExpression`

* 🔥 Remove logging

* 🔥 Remove URL from scopes

*  Disregard expressions for display

* 🎨 Use CSS modules

* 📘 Tigthen interface

* 🐛 Fix generic auth display

* 🐛 Fix generic auth validation

* 📘 Loosen type

* 🚚 Move event params to end

*  Generalize reference

*  Refactor generic auth as `credentialsSelect` param

*  Restore check for `httpHeaderAuth `

* 🚚 Rename `existing` to `predefined`

* Extend metrics for HTTP Request node (#3282)

*  Extend metrics

* 🧪 Add tests

*  Update param names

Co-authored-by: Alex Grozav <alex@grozav.com>

*  Update check per new branch

*  Include generic auth check

*  Adjust telemetry (#3359)

*  Filter credential types by label

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Alex Grozav <alex@grozav.com>
2022-05-24 11:36:19 +02:00
Iván Ovejero e7fa0ae883
test(core): Skip SMTP tests if service unavailable (#3293) 2022-05-20 21:28:05 +02:00
Ben Hesseldieck a0b5ad357b
test: Enhance owner completion test (#3175) 2022-05-19 17:57:23 +02:00
Jonathan Bennetts 8cb58bcbdc
build(core): Fix cli build issue under windows (#3322) 2022-05-19 16:33:23 +02:00
Tom 680c9684cb
Sort out typo in error message (#3307) 2022-05-17 12:00:26 +02:00
Jan Oberhauser 8ccb4f6eca 📚 Remove screenshot width 2022-05-17 10:54:13 +02:00
Jan Oberhauser c43fc4e978 📚 Update n8n video and formatting 2022-05-17 10:46:06 +02:00
Jan Oberhauser bed0ff8b01 🔖 Release n8n@0.177.0 2022-05-16 16:32:21 +00:00