n8n/packages/nodes-base/credentials/Aws.credentials.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

436 lines
11 KiB
TypeScript
Raw Normal View History

import type { Request } from 'aws4';
import { sign } from 'aws4';
import type {
ICredentialDataDecryptedObject,
ICredentialTestRequest,
ICredentialType,
IDataObject,
IHttpRequestOptions,
INodeProperties,
IRequestOptions,
} from 'n8n-workflow';
import { isObjectEmpty } from 'n8n-workflow';
2019-10-04 13:01:25 -07:00
refactor: Allow only valid regions in AWS credentials (#3380) * options and operations added * IT WORKS! * Added ReturnALL to GET method * comit for PR * updating shared operations * (AWS): Allow only valid values of Region in the credentials modal * fix(core): Fix issue that "closeFunction" got called twice * fix(core): Prevent expressions XSS (#3366) * :sparkles: Added checks for window object access in template strings. * :sparkles: Added self, prompt and confirm to blocklist. Changed window usage condition. * fix(editor): Fix conflicting hover states between sticky button and node view (#3368) * 🐛 Fixing conflicting hover states between sticky button and node view. * 🔨 Updating and optimizing sticky menu hover logic * 📇 Removing redundant comments from `NodeView`. * fix(editor): Fix credential display bug (#3372) * :zap: Filter credentials by version * :zap: Reuse helper * fix(NextCloud Node): Fix folder list with Nextcloud v24 (#3386) * initial fix for v24 folder listing * implemented new credential methods * Nodelinter fixes * feat(PostBin Node): Add PostBin node (#3236) * 🚧 Initial progress on PostBin node. * ✨ Implemented Bin and Request operations for PostBin node. * 🚧 Reworked the node in the declarative way. * 🚧 PosBin node refactoring after reworking it. * ✨ Implemented Bin id parsing in PostBin node. Done some final refactoring and documentation. * :zap: Improvements * :zap: Add comments * 👌Updating the PostBin node based on the product review * 💄Updating PostBin node Bin ID validation logic * :zap: Small improvements * :zap: Transform the bin requests and add additional properties Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * feat(Todoist Node): Add support for specifying the parent task when adding and listing tasks (#3161) * Todoist: Update parent field to parent_id `parent` is deprecated. * Todoist: Move Labels to "additional fields" when adding a task Improves consistency with other operations. * Todoist: Improve section re-load when switching projects It only worked when creating tasks, due to naming and nesting inconsistencies between different operations. Making it consistent adds predictability and allows reuse between operations. * Todoist: Add support for parent_id when creating and listing tasks * :zap: fixes * :zap: test credentials fix * :zap: parameters naming fix * :zap: undo for breaking change * feat(Salesforce Node): Add country field (#3314) * fix(Slack Node): Fix Channel->Kick (#3365) * feat(core): Allow credential reuse on HTTP Request node (#3228) * :sparkles: Create controller * :zap: Mount controller * :pencil2: Add error messages * :sparkles: Create scopes fetcher * :zap: Account for non-existent credential type * :blue_book: Type scopes request * :zap: Adjust error message * :test_tube: Add tests * :sparkles: Introduce simple node versioning * :zap: Add example how to read version in node-code for custom logic * :bug: Fix setting of parameters * :bug: Fix another instance where it sets the wrong parameter * :zap: Remove unnecessary TOODs * :sparkles: Re-version HTTP Request node * :shirt: Satisfy linter * :zap: Retrieve node version * :rewind: Undo Jan's changes to Set node * :test_tube: Fix CI/CD for `/oauth2-credential` tests (#3230) * :bug: Fix notice warning missing background color (#3231) * :bug: Check for generic auth in node cred types * :zap: Refactor credentials dropdown for HTTP Request node (#3222) * :zap: Discoverability flow (#3229) * :sparkles: Added node credentials type proxy. Changed node credentials input order. * :zap: Add computed property from versioning branch * :bug: Fix cred ref lost and unsaved * :zap: Make options consistent with cred type names * :zap: Use prop to set component order * :zap: Use constant and version * :zap: Fix rendering for generic auth creds * :zap: Mark as required on first selection * :zap: Implement discoverability flow * :zap: Mark as required on subsequent selections * :zap: Fix marking as required after cred deletion * :zap: Refactor to clean up * :zap: Detect position automatically * :zap: Add i18n to option label * :zap: Hide subtitle for custom action * :zap: Detect active credential type * :zap: Prop drilling to re-render select * :fire: Remove unneeded property * :pencil2: Rename arg * :fire: Remove unused import * :fire: Remove unneeded getters * :fire: Remove unused import * :zap: Generalize cred component positioning * :zap: Set up request * :bug: Fix edge case in endpoint * :zap: Display scopes alert box * :rewind: Revert "Generalize cred comp positioning" This reverts commit 75eea89273b854110fa6d1f96c7c1d78dd3b0731. * :zap: Consolidate HTTPRN check * :zap: Fix hue percentage to degree * :fire: Remove unused import * :fire: Remove unused import * :fire: Remove unused class * :fire: Remove unused import * :blue_book: Create type for HTTPRN v2 auth params * :pencil2: Rename check * :fire: Remove unused import * :pencil2: Add i18n to `reportUnsetCredential()` * :zap: Refactor Alex's spacing changes * :zap: Post-merge fixes * :zap: Add docs link * :fire: Exclude Notion OAuth cred * :pencil2: Update copy * :pencil2: Rename param * :art: Reposition notice and simplify styling * :pencil2: Update copy * :pencil2: Update copy * :zap: Hide params during custom action * :zap: Show notice if any cred type supported * :bug: Prevent scopes text overflow * :fire: Remove superfluous check * :pencil2: Break up docstring * :art: Tweak notice styling * :zap: Reorder cred param in Webhook node * :pencil2: Shorten cred name in scopes notice * :test_tube: Update Notice snapshots * :bug: Fix check when `globalRole` is `undefined` * :rewind: Revert 3f2c4a6 * :zap: Apply feedback from Product * :test_tube: Update snapshot * :zap: Adjust regex expansion pattern for singular * :fire: Remove unused import * :fire: Remove logging * :zap: Make `somethingElse` key more unique * :zap: Move something else to constants * :zap: Consolidate notice component * :zap: Apply latest feedback * :test_tube: Update tests * :test_tube: Update snapshot * :pencil2: Fix singular version * :test_tube: Finalize tests * :pencil2: Rename constant * :test_tube: Expand tests * :fire: Remove `truncate` prop * :truck: Move scopes fetching to store * :truck: Move method to component * :zap: Use constant * :zap: Refactor `Notice` component * :test_tube: Update tests * :fire: Remove unused keys * :zap: Inject custom API call option * :fire: Remove unused props * :art: Use `compact` prop * :test_tube: Update snapshots * :truck: Move scopes to store * :truck: Move `nodeCredentialTypes` to parent * :pencil2: Rename cred types per branding * :bug: Clear scopes when none * :zap: Add default * :truck: Move `newHttpRequestNodeCredentialType` to parent * :fire: Remove test data * :zap: Separate lines for readability * :zap: Change reference from node to node name * :pencil2: Rename i18n keys * :zap: Refactor OAuth check * :fire: Remove unused key * :truck: Move `OAuth1/2 API` to i18n * :zap: Refactor `skipCheck` * :zap: Add `stopPropagation` and `preventDefault` * :truck: Move active credential scopes logic to store * :art: Fix spacing for `NodeWebhooks` component * :zap: Implement feedback * :zap: Update HTTPRN default and issue copy * Refactor to use `CredentialsSelect` param (#3304) * :zap: Refactor into cred type param * :zap: Componentize scopes notice * :fire: Remove unused data * :fire: Remove unused `loadOptions` * :zap: Componentize `NodeCredentialType` * :bug: Fix param validation * :fire: Remove dup methods * :zap: Refactor all references to `isHttpRequestNodeV2` * :art: Fix styling * :fire: Remove unused import * :fire: Remove unused properties * :art: Fix spacing for Pipedrive Trigger node * :art: Undo Webhook node styling change * :fire: Remove unused style * :zap: Cover `httpHeaderAuth` edge case * :bug: Fix `this.node` reference * :truck: Rename to `credentialsSelect` * :bug: Fix mistaken renaming * :zap: Set one attribute per line * :zap: Move condition to instantiation site * :truck: Rename prop * :zap: Refactor away `prepareScopesNotice` * :pencil2: Rename i18n keys * :pencil2: Update i18n calls * :pencil2: Add more i18n keys * :fire: Remove unused props * :pencil2: Add explanatory comment * :zap: Adjust check in `hasProxyAuth` * :zap: Refactor `credentialSelected` from prop to event * :zap: Eventify `valueChanged`, `setFocus`, `onBlur` * :zap: Eventify `optionSelected` * :zap: Add `noDataExpression` * :fire: Remove logging * :fire: Remove URL from scopes * :zap: Disregard expressions for display * :art: Use CSS modules * :blue_book: Tigthen interface * :bug: Fix generic auth display * :bug: Fix generic auth validation * :blue_book: Loosen type * :truck: Move event params to end * :zap: Generalize reference * :zap: Refactor generic auth as `credentialsSelect` param * :rewind: Restore check for `httpHeaderAuth ` * :truck: Rename `existing` to `predefined` * Extend metrics for HTTP Request node (#3282) * :zap: Extend metrics * :test_tube: Add tests * :zap: Update param names Co-authored-by: Alex Grozav <alex@grozav.com> * :zap: Update check per new branch * :zap: Include generic auth check * :zap: Adjust telemetry (#3359) * :zap: Filter credential types by label Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.100.0 * :arrow_up: Set n8n-workflow@0.100.0 on n8n-core * :bookmark: Release n8n-core@0.118.0 * :arrow_up: Set n8n-core@0.118.0 and n8n-workflow@0.100.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.57.0 * :arrow_up: Set n8n-core@0.118.0 and n8n-workflow@0.100.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.176.0 * :bookmark: Release n8n-design-system@0.21.0 * :arrow_up: Set n8n-design-system@0.21.0 and n8n-workflow@0.100.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.144.0 * :arrow_up: 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 * :bookmark: Release n8n@0.178.0 * :bookmark: Update main package.json to 0.178.0 * :books: Update CHANGELOG.md with version 0.178.0 * fix(editor): Fix problem with HTTP Request Node 1 credentials to be set (#3371) * :bookmark: Release n8n-editor-ui@0.144.1 * :arrow_up: Set n8n-editor-ui@0.144.1 on n8n * :bookmark: Release n8n@0.178.1 * :bookmark: Update main package.json to 0.178.1 * :books: Update CHANGELOG.md with version 0.178.1 * fix(editor): Fix parameter loading bug (#3374) * fix parameter loading bug * remove duplicate check * :bookmark: Release n8n-editor-ui@0.144.2 * :arrow_up: Set n8n-editor-ui@0.144.2 on n8n * :bookmark: Release n8n@0.178.2 * :bookmark: Update main package.json to 0.178.2 * :books: Update CHANGELOG.md with version 0.178.2 * :zap: Improvements * fix(core): Fix issue that "closeFunction" got called twice * fix(core): Prevent expressions XSS (#3366) * :sparkles: Added checks for window object access in template strings. * :sparkles: Added self, prompt and confirm to blocklist. Changed window usage condition. * fix(editor): Fix conflicting hover states between sticky button and node view (#3368) * 🐛 Fixing conflicting hover states between sticky button and node view. * 🔨 Updating and optimizing sticky menu hover logic * 📇 Removing redundant comments from `NodeView`. * fix(editor): Fix credential display bug (#3372) * :zap: Filter credentials by version * :zap: Reuse helper * fix(NextCloud Node): Fix folder list with Nextcloud v24 (#3386) * initial fix for v24 folder listing * implemented new credential methods * Nodelinter fixes * feat(PostBin Node): Add PostBin node (#3236) * 🚧 Initial progress on PostBin node. * ✨ Implemented Bin and Request operations for PostBin node. * 🚧 Reworked the node in the declarative way. * 🚧 PosBin node refactoring after reworking it. * ✨ Implemented Bin id parsing in PostBin node. Done some final refactoring and documentation. * :zap: Improvements * :zap: Add comments * 👌Updating the PostBin node based on the product review * 💄Updating PostBin node Bin ID validation logic * :zap: Small improvements * :zap: Transform the bin requests and add additional properties Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :zap: Simplify auth * :shirt: Fix lint issue Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * fix(core): Fix problem with uploading large files (#3370) * :zap: fix * :zap: moved setting to axios config * fix(editor): Fix component in executions list failing custom validator (#3284) * :bug: Adjust size to custom validator * :rewind: Undo size change * :zap: Add size to component validator * fix(Discord Node): Fix broken rate limit handling (#3311) * :hammer: fix and additional option to return response headers * :zap: Remove "return response headers" parameter Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(ServiceNow Node): Add attachment functionality (#3137) * ✨ Add ServiceNow attachment functionality * :hammer: download fix * :zap: improvements * :zap: parameter name fix * :zap: download attachment for get all operation * :zap: filters update * :zap: hint update * :zap: Small improvements Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * :zap: Update URLs to n8n.io API (#3391) * fix(core): Fix migrations on non-public Postgres schema (#3356) * :bug: Fix UM migration * :zap: Account for schema in `search_path` * :fire: Remove unneeded schema refs * :test_tube: Account for alt schema in DB testing * :zap: Add schema to `IncreaseTypeVarcharLimit` * :zap: Set `search_path` in every migration * :zap: Set `search_path` in down migrations * refactor(core): Improve error message * feat(RabbitMQ Trigger Node): Make message acknowledgement and parallel processing configurable (#3385) * feat(RabbitMQ Trigger Node): Make message acknowledgement and concurrent processing configurable * :zap: Make sure that messages do not get executed multiple times * :shirt: Fix lint issue * :bug: Fix issue that for manual executions in "own" mode messages got know acknowledged * :zap: Increment count now that console.log got removed * :zap: Improvements * :zap: Fix default value * :zap: Improve display name * fix(Gmail Node): Fix sending attachments when filesystem mode is used (#3396) * fix(Google Sheet Node): Fix issue with null values and "Use Header Names as JSON Paths" option (#3395) * fixed Google Sheet 'Use Header Names as JSON Paths' issue when input data contains null values. https://community.n8n.io/t/error-cannot-read-properties-of-null-reading-tostring/14385/2 * :zap: Update URLs to n8n.io API (#3391) * fix(core): Fix migrations on non-public Postgres schema (#3356) * :bug: Fix UM migration * :zap: Account for schema in `search_path` * :fire: Remove unneeded schema refs * :test_tube: Account for alt schema in DB testing * :zap: Add schema to `IncreaseTypeVarcharLimit` * :zap: Set `search_path` in every migration * :zap: Set `search_path` in down migrations * refactor(core): Improve error message * feat(RabbitMQ Trigger Node): Make message acknowledgement and parallel processing configurable (#3385) * feat(RabbitMQ Trigger Node): Make message acknowledgement and concurrent processing configurable * :zap: Make sure that messages do not get executed multiple times * :shirt: Fix lint issue * :bug: Fix issue that for manual executions in "own" mode messages got know acknowledged * :zap: Increment count now that console.log got removed * :zap: Improvements * :zap: Fix default value * :zap: Improve display name * fix(Gmail Node): Fix sending attachments when filesystem mode is used (#3396) * :zap: Minor improvement Co-authored-by: Taha Sönmez <mtssonmez@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.101.0 * :arrow_up: Set n8n-workflow@0.101.0 on n8n-core * :bookmark: Release n8n-core@0.119.0 * :arrow_up: Set n8n-core@0.119.0 and n8n-workflow@0.101.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.58.0 * :arrow_up: Set n8n-core@0.119.0 and n8n-workflow@0.101.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.177.0 * :bookmark: Release n8n-design-system@0.22.0 * :arrow_up: Set n8n-design-system@0.22.0 and n8n-workflow@0.101.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.145.0 * :arrow_up: 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 * :bookmark: Release n8n@0.179.0 * :bookmark: Update main package.json to 0.179.0 * :books: Update CHANGELOG.md with version 0.179.0 * :zap: linter fixes * :zap: improvements * :zap: lock file fix * :zap: credentials update * feat(editor): Display node specific settings above general ones * fix(editor): Fix delete button hover spacing (#3412) * 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 * 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> * fix(editor): Fix stuck loading states (#3428) * feat(core): Add support for pairedItem (beta) (#3012) * :sparkles: Add pairedItem support * :shirt: Fix lint issue * :bug: Fix resolution in frontend * :bug: Fix resolution issue * :bug: Fix resolution in frontend * :bug: Fix another resolution issue in frontend * :zap: Try to automatically add pairedItem data if possible * :zap: Cleanup * :zap: Display expression errors in editor UI * :bug: Fix issue that it did not display errors in production * :bug: Fix auto-fix of missing pairedItem data * :bug: Fix frontend resolution for not executed nodes * :zap: Fail execution on pairedItem resolve issue and display information about itemIndex and runIndex * :zap: Allow that pairedItem is only set to number if runIndex is 0 * :sparkles: Improve Expression Errors * :zap: Remove no longer needed code * :zap: Make errors more helpful * :zap: Add additional errors * :shirt: Fix lint issue * :zap: Add pairedItem support to core nodes * :zap: Improve support in Merge-Node * :zap: Fix issue with not correctly converted incoming pairedItem data * :bug: Fix frontend resolve issue * :bug: Fix frontend parameter name display issue * :zap: Improve errors * :shirt: Fix lint issue * :zap: Improve errors * :zap: Make it possible to display parameter name in error messages * :zap: Improve error messages * :zap: Fix error message * :zap: Improve error messages * :zap: Add another error message * :zap: Simplify * refactor(core): Deduplicate encryption logic (#3434) * :zap: added function to credentials helper * Refactor function name * Fix lint issues Co-authored-by: Michael Kret <michael.k@radency.com> * test: Add timeout to `beforeAll` in users suite (#3433) * refactor(editor): Change node-setting's parameters order (#3435) * fix(core): Fix `user-management:reset` command (#3403) * :bug: Fix `email` setting * :test_tube: Add test * :test_tube: Add expectation for user email * :zap: Replace request with helper * refactor: Apply more `eslint-plugin-n8n-nodes-base` autofixable rules (#3432) * :zap: Update `lintfix` script * :shirt: Remove unneeded lint exceptions * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-description-miscased-url` (#3441) * :shirt: Apply `rule node-param-placeholder-miscased-id` (#3443) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-option-name-wrong-for-upsert` (#3446) * :shirt: Apply `node-param-min-value-wrong-for-limit` (#3442) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-wrong-for-dynamic-options` (#3454) * :hammer: fix * :zap: Fix `Assigned To` fields Co-authored-by: Michael Kret <michael.k@radency.com> * :shirt: Apply `rule node-param-default-wrong-for-number` (#3453) * :shirt: Apply `node-param-default-wrong-for-string` (#3452) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-miscased` (#3449) * :hammer: fix * :hammer: exceptions * :zap: review fixes * :shirt: Apply `node-param-description-lowercase-first-char` (#3451) * :zap: fix * :zap: review fixes * :zap: fix Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-description-wrong-for-dynamic-options` (#3456) * Rule working as intended * Add rule * :fire: Remove repetitions * :shirt: Add exceptions Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Small fix for `node-param-description-wrong-for-dynamic-options` * :shirt: Apply `node-param-default-wrong-for-fixed-collection` (#3460) * :shirt: Apply `node-param-description-line-break-html-tag` (#3462) * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-options-type-unsorted-items` (#3459) * :zap: fix * :hammer: exceptions * Add exception for Salesmate and Zoom Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :zap: Restore `lintfix` command Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> * fix(Hubspot Node): Fix loading of Contacts (#3426) * feat(QuickBooks Node): Add optional Tax item field (#3404) * Added tax refs * Nodelinter fixes * fix(EmailReadImap Node): Improve error handling (#3465) * refactor(core): Remove a floating promise * feat(Cal Trigger Node): Add cal.com Trigger Node (#3439) * options and operations added * IT WORKS! * Added ReturnALL to GET method * comit for PR * updating shared operations * :zap: linter fixes * :zap: improvements * :zap: lock file fix * :zap: credentials update * added cal trigger node * Removed console log * Added advanced fields * feat(core): Add support for pairedItem (beta) (#3012) * :sparkles: Add pairedItem support * :shirt: Fix lint issue * :bug: Fix resolution in frontend * :bug: Fix resolution issue * :bug: Fix resolution in frontend * :bug: Fix another resolution issue in frontend * :zap: Try to automatically add pairedItem data if possible * :zap: Cleanup * :zap: Display expression errors in editor UI * :bug: Fix issue that it did not display errors in production * :bug: Fix auto-fix of missing pairedItem data * :bug: Fix frontend resolution for not executed nodes * :zap: Fail execution on pairedItem resolve issue and display information about itemIndex and runIndex * :zap: Allow that pairedItem is only set to number if runIndex is 0 * :sparkles: Improve Expression Errors * :zap: Remove no longer needed code * :zap: Make errors more helpful * :zap: Add additional errors * :shirt: Fix lint issue * :zap: Add pairedItem support to core nodes * :zap: Improve support in Merge-Node * :zap: Fix issue with not correctly converted incoming pairedItem data * :bug: Fix frontend resolve issue * :bug: Fix frontend parameter name display issue * :zap: Improve errors * :shirt: Fix lint issue * :zap: Improve errors * :zap: Make it possible to display parameter name in error messages * :zap: Improve error messages * :zap: Fix error message * :zap: Improve error messages * :zap: Add another error message * :zap: Simplify * refactor(core): Deduplicate encryption logic (#3434) * :zap: added function to credentials helper * Refactor function name * Fix lint issues Co-authored-by: Michael Kret <michael.k@radency.com> * test: Add timeout to `beforeAll` in users suite (#3433) * refactor(editor): Change node-setting's parameters order (#3435) * fix(core): Fix `user-management:reset` command (#3403) * :bug: Fix `email` setting * :test_tube: Add test * :test_tube: Add expectation for user email * :zap: Replace request with helper * refactor: Apply more `eslint-plugin-n8n-nodes-base` autofixable rules (#3432) * :zap: Update `lintfix` script * :shirt: Remove unneeded lint exceptions * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-description-miscased-url` (#3441) * :shirt: Apply `rule node-param-placeholder-miscased-id` (#3443) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-option-name-wrong-for-upsert` (#3446) * :shirt: Apply `node-param-min-value-wrong-for-limit` (#3442) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-wrong-for-dynamic-options` (#3454) * :hammer: fix * :zap: Fix `Assigned To` fields Co-authored-by: Michael Kret <michael.k@radency.com> * :shirt: Apply `rule node-param-default-wrong-for-number` (#3453) * :shirt: Apply `node-param-default-wrong-for-string` (#3452) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-miscased` (#3449) * :hammer: fix * :hammer: exceptions * :zap: review fixes * :shirt: Apply `node-param-description-lowercase-first-char` (#3451) * :zap: fix * :zap: review fixes * :zap: fix Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-description-wrong-for-dynamic-options` (#3456) * Rule working as intended * Add rule * :fire: Remove repetitions * :shirt: Add exceptions Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Small fix for `node-param-description-wrong-for-dynamic-options` * :shirt: Apply `node-param-default-wrong-for-fixed-collection` (#3460) * :shirt: Apply `node-param-description-line-break-html-tag` (#3462) * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-options-type-unsorted-items` (#3459) * :zap: fix * :hammer: exceptions * Add exception for Salesmate and Zoom Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :zap: Restore `lintfix` command Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> * fix(Hubspot Node): Fix loading of Contacts (#3426) * feat(QuickBooks Node): Add optional Tax item field (#3404) * Added tax refs * Nodelinter fixes * fix(EmailReadImap Node): Improve error handling (#3465) * refactor(core): Remove a floating promise * :zap: Improvements Co-authored-by: alex meredith <alexanderm@packt.com> Co-authored-by: ajmeredith1200 <100841449+ajmeredith1200@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * :zap: Improve cal.com Trigger Node * :shirt: Fix lint issue * :zap: Minor improvements Co-authored-by: alex meredith <alexanderm@packt.com> Co-authored-by: ajmeredith1200 <100841449+ajmeredith1200@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Gonçalo Silva <goncalossilva@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: pemontto <939704+pemontto@users.noreply.github.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Taha Sönmez <35905778+tahasonmez@users.noreply.github.com> Co-authored-by: Taha Sönmez <mtssonmez@gmail.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Luca Berneking <l.berneking@mittwald.de> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
2022-06-05 11:31:29 -07:00
export const regions = [
{
name: 'af-south-1',
displayName: 'Africa',
location: 'Cape Town',
},
{
name: 'ap-east-1',
displayName: 'Asia Pacific',
location: 'Hong Kong',
},
{
name: 'ap-south-1',
displayName: 'Asia Pacific',
location: 'Mumbai',
},
{
name: 'ap-southeast-1',
displayName: 'Asia Pacific',
location: 'Singapore',
},
{
name: 'ap-southeast-2',
displayName: 'Asia Pacific',
location: 'Sydney',
},
{
name: 'ap-southeast-3',
displayName: 'Asia Pacific',
location: 'Jakarta',
},
{
name: 'ap-northeast-1',
displayName: 'Asia Pacific',
location: 'Tokyo',
},
{
name: 'ap-northeast-2',
displayName: 'Asia Pacific',
location: 'Seoul',
},
{
name: 'ap-northeast-3',
displayName: 'Asia Pacific',
location: 'Osaka',
},
{
name: 'ca-central-1',
displayName: 'Canada',
location: 'Central',
},
{
name: 'eu-central-1',
displayName: 'Europe',
location: 'Frankfurt',
},
{
name: 'eu-north-1',
displayName: 'Europe',
location: 'Stockholm',
},
{
name: 'eu-south-1',
displayName: 'Europe',
location: 'Milan',
},
{
name: 'eu-west-1',
displayName: 'Europe',
location: 'Ireland',
},
{
name: 'eu-west-2',
displayName: 'Europe',
location: 'London',
},
{
name: 'eu-west-3',
displayName: 'Europe',
location: 'Paris',
},
{
name: 'me-south-1',
displayName: 'Middle East',
location: 'Bahrain',
},
{
name: 'sa-east-1',
displayName: 'South America',
location: 'São Paulo',
},
{
name: 'us-east-1',
displayName: 'US East',
location: 'N. Virginia',
},
{
name: 'us-east-2',
displayName: 'US East',
location: 'Ohio',
},
{
name: 'us-west-1',
displayName: 'US West',
location: 'N. California',
},
{
name: 'us-west-2',
displayName: 'US West',
location: 'Oregon',
},
2022-06-06 06:34:00 -07:00
] as const;
refactor: Allow only valid regions in AWS credentials (#3380) * options and operations added * IT WORKS! * Added ReturnALL to GET method * comit for PR * updating shared operations * (AWS): Allow only valid values of Region in the credentials modal * fix(core): Fix issue that "closeFunction" got called twice * fix(core): Prevent expressions XSS (#3366) * :sparkles: Added checks for window object access in template strings. * :sparkles: Added self, prompt and confirm to blocklist. Changed window usage condition. * fix(editor): Fix conflicting hover states between sticky button and node view (#3368) * 🐛 Fixing conflicting hover states between sticky button and node view. * 🔨 Updating and optimizing sticky menu hover logic * 📇 Removing redundant comments from `NodeView`. * fix(editor): Fix credential display bug (#3372) * :zap: Filter credentials by version * :zap: Reuse helper * fix(NextCloud Node): Fix folder list with Nextcloud v24 (#3386) * initial fix for v24 folder listing * implemented new credential methods * Nodelinter fixes * feat(PostBin Node): Add PostBin node (#3236) * 🚧 Initial progress on PostBin node. * ✨ Implemented Bin and Request operations for PostBin node. * 🚧 Reworked the node in the declarative way. * 🚧 PosBin node refactoring after reworking it. * ✨ Implemented Bin id parsing in PostBin node. Done some final refactoring and documentation. * :zap: Improvements * :zap: Add comments * 👌Updating the PostBin node based on the product review * 💄Updating PostBin node Bin ID validation logic * :zap: Small improvements * :zap: Transform the bin requests and add additional properties Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * feat(Todoist Node): Add support for specifying the parent task when adding and listing tasks (#3161) * Todoist: Update parent field to parent_id `parent` is deprecated. * Todoist: Move Labels to "additional fields" when adding a task Improves consistency with other operations. * Todoist: Improve section re-load when switching projects It only worked when creating tasks, due to naming and nesting inconsistencies between different operations. Making it consistent adds predictability and allows reuse between operations. * Todoist: Add support for parent_id when creating and listing tasks * :zap: fixes * :zap: test credentials fix * :zap: parameters naming fix * :zap: undo for breaking change * feat(Salesforce Node): Add country field (#3314) * fix(Slack Node): Fix Channel->Kick (#3365) * feat(core): Allow credential reuse on HTTP Request node (#3228) * :sparkles: Create controller * :zap: Mount controller * :pencil2: Add error messages * :sparkles: Create scopes fetcher * :zap: Account for non-existent credential type * :blue_book: Type scopes request * :zap: Adjust error message * :test_tube: Add tests * :sparkles: Introduce simple node versioning * :zap: Add example how to read version in node-code for custom logic * :bug: Fix setting of parameters * :bug: Fix another instance where it sets the wrong parameter * :zap: Remove unnecessary TOODs * :sparkles: Re-version HTTP Request node * :shirt: Satisfy linter * :zap: Retrieve node version * :rewind: Undo Jan's changes to Set node * :test_tube: Fix CI/CD for `/oauth2-credential` tests (#3230) * :bug: Fix notice warning missing background color (#3231) * :bug: Check for generic auth in node cred types * :zap: Refactor credentials dropdown for HTTP Request node (#3222) * :zap: Discoverability flow (#3229) * :sparkles: Added node credentials type proxy. Changed node credentials input order. * :zap: Add computed property from versioning branch * :bug: Fix cred ref lost and unsaved * :zap: Make options consistent with cred type names * :zap: Use prop to set component order * :zap: Use constant and version * :zap: Fix rendering for generic auth creds * :zap: Mark as required on first selection * :zap: Implement discoverability flow * :zap: Mark as required on subsequent selections * :zap: Fix marking as required after cred deletion * :zap: Refactor to clean up * :zap: Detect position automatically * :zap: Add i18n to option label * :zap: Hide subtitle for custom action * :zap: Detect active credential type * :zap: Prop drilling to re-render select * :fire: Remove unneeded property * :pencil2: Rename arg * :fire: Remove unused import * :fire: Remove unneeded getters * :fire: Remove unused import * :zap: Generalize cred component positioning * :zap: Set up request * :bug: Fix edge case in endpoint * :zap: Display scopes alert box * :rewind: Revert "Generalize cred comp positioning" This reverts commit 75eea89273b854110fa6d1f96c7c1d78dd3b0731. * :zap: Consolidate HTTPRN check * :zap: Fix hue percentage to degree * :fire: Remove unused import * :fire: Remove unused import * :fire: Remove unused class * :fire: Remove unused import * :blue_book: Create type for HTTPRN v2 auth params * :pencil2: Rename check * :fire: Remove unused import * :pencil2: Add i18n to `reportUnsetCredential()` * :zap: Refactor Alex's spacing changes * :zap: Post-merge fixes * :zap: Add docs link * :fire: Exclude Notion OAuth cred * :pencil2: Update copy * :pencil2: Rename param * :art: Reposition notice and simplify styling * :pencil2: Update copy * :pencil2: Update copy * :zap: Hide params during custom action * :zap: Show notice if any cred type supported * :bug: Prevent scopes text overflow * :fire: Remove superfluous check * :pencil2: Break up docstring * :art: Tweak notice styling * :zap: Reorder cred param in Webhook node * :pencil2: Shorten cred name in scopes notice * :test_tube: Update Notice snapshots * :bug: Fix check when `globalRole` is `undefined` * :rewind: Revert 3f2c4a6 * :zap: Apply feedback from Product * :test_tube: Update snapshot * :zap: Adjust regex expansion pattern for singular * :fire: Remove unused import * :fire: Remove logging * :zap: Make `somethingElse` key more unique * :zap: Move something else to constants * :zap: Consolidate notice component * :zap: Apply latest feedback * :test_tube: Update tests * :test_tube: Update snapshot * :pencil2: Fix singular version * :test_tube: Finalize tests * :pencil2: Rename constant * :test_tube: Expand tests * :fire: Remove `truncate` prop * :truck: Move scopes fetching to store * :truck: Move method to component * :zap: Use constant * :zap: Refactor `Notice` component * :test_tube: Update tests * :fire: Remove unused keys * :zap: Inject custom API call option * :fire: Remove unused props * :art: Use `compact` prop * :test_tube: Update snapshots * :truck: Move scopes to store * :truck: Move `nodeCredentialTypes` to parent * :pencil2: Rename cred types per branding * :bug: Clear scopes when none * :zap: Add default * :truck: Move `newHttpRequestNodeCredentialType` to parent * :fire: Remove test data * :zap: Separate lines for readability * :zap: Change reference from node to node name * :pencil2: Rename i18n keys * :zap: Refactor OAuth check * :fire: Remove unused key * :truck: Move `OAuth1/2 API` to i18n * :zap: Refactor `skipCheck` * :zap: Add `stopPropagation` and `preventDefault` * :truck: Move active credential scopes logic to store * :art: Fix spacing for `NodeWebhooks` component * :zap: Implement feedback * :zap: Update HTTPRN default and issue copy * Refactor to use `CredentialsSelect` param (#3304) * :zap: Refactor into cred type param * :zap: Componentize scopes notice * :fire: Remove unused data * :fire: Remove unused `loadOptions` * :zap: Componentize `NodeCredentialType` * :bug: Fix param validation * :fire: Remove dup methods * :zap: Refactor all references to `isHttpRequestNodeV2` * :art: Fix styling * :fire: Remove unused import * :fire: Remove unused properties * :art: Fix spacing for Pipedrive Trigger node * :art: Undo Webhook node styling change * :fire: Remove unused style * :zap: Cover `httpHeaderAuth` edge case * :bug: Fix `this.node` reference * :truck: Rename to `credentialsSelect` * :bug: Fix mistaken renaming * :zap: Set one attribute per line * :zap: Move condition to instantiation site * :truck: Rename prop * :zap: Refactor away `prepareScopesNotice` * :pencil2: Rename i18n keys * :pencil2: Update i18n calls * :pencil2: Add more i18n keys * :fire: Remove unused props * :pencil2: Add explanatory comment * :zap: Adjust check in `hasProxyAuth` * :zap: Refactor `credentialSelected` from prop to event * :zap: Eventify `valueChanged`, `setFocus`, `onBlur` * :zap: Eventify `optionSelected` * :zap: Add `noDataExpression` * :fire: Remove logging * :fire: Remove URL from scopes * :zap: Disregard expressions for display * :art: Use CSS modules * :blue_book: Tigthen interface * :bug: Fix generic auth display * :bug: Fix generic auth validation * :blue_book: Loosen type * :truck: Move event params to end * :zap: Generalize reference * :zap: Refactor generic auth as `credentialsSelect` param * :rewind: Restore check for `httpHeaderAuth ` * :truck: Rename `existing` to `predefined` * Extend metrics for HTTP Request node (#3282) * :zap: Extend metrics * :test_tube: Add tests * :zap: Update param names Co-authored-by: Alex Grozav <alex@grozav.com> * :zap: Update check per new branch * :zap: Include generic auth check * :zap: Adjust telemetry (#3359) * :zap: Filter credential types by label Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.100.0 * :arrow_up: Set n8n-workflow@0.100.0 on n8n-core * :bookmark: Release n8n-core@0.118.0 * :arrow_up: Set n8n-core@0.118.0 and n8n-workflow@0.100.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.57.0 * :arrow_up: Set n8n-core@0.118.0 and n8n-workflow@0.100.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.176.0 * :bookmark: Release n8n-design-system@0.21.0 * :arrow_up: Set n8n-design-system@0.21.0 and n8n-workflow@0.100.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.144.0 * :arrow_up: 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 * :bookmark: Release n8n@0.178.0 * :bookmark: Update main package.json to 0.178.0 * :books: Update CHANGELOG.md with version 0.178.0 * fix(editor): Fix problem with HTTP Request Node 1 credentials to be set (#3371) * :bookmark: Release n8n-editor-ui@0.144.1 * :arrow_up: Set n8n-editor-ui@0.144.1 on n8n * :bookmark: Release n8n@0.178.1 * :bookmark: Update main package.json to 0.178.1 * :books: Update CHANGELOG.md with version 0.178.1 * fix(editor): Fix parameter loading bug (#3374) * fix parameter loading bug * remove duplicate check * :bookmark: Release n8n-editor-ui@0.144.2 * :arrow_up: Set n8n-editor-ui@0.144.2 on n8n * :bookmark: Release n8n@0.178.2 * :bookmark: Update main package.json to 0.178.2 * :books: Update CHANGELOG.md with version 0.178.2 * :zap: Improvements * fix(core): Fix issue that "closeFunction" got called twice * fix(core): Prevent expressions XSS (#3366) * :sparkles: Added checks for window object access in template strings. * :sparkles: Added self, prompt and confirm to blocklist. Changed window usage condition. * fix(editor): Fix conflicting hover states between sticky button and node view (#3368) * 🐛 Fixing conflicting hover states between sticky button and node view. * 🔨 Updating and optimizing sticky menu hover logic * 📇 Removing redundant comments from `NodeView`. * fix(editor): Fix credential display bug (#3372) * :zap: Filter credentials by version * :zap: Reuse helper * fix(NextCloud Node): Fix folder list with Nextcloud v24 (#3386) * initial fix for v24 folder listing * implemented new credential methods * Nodelinter fixes * feat(PostBin Node): Add PostBin node (#3236) * 🚧 Initial progress on PostBin node. * ✨ Implemented Bin and Request operations for PostBin node. * 🚧 Reworked the node in the declarative way. * 🚧 PosBin node refactoring after reworking it. * ✨ Implemented Bin id parsing in PostBin node. Done some final refactoring and documentation. * :zap: Improvements * :zap: Add comments * 👌Updating the PostBin node based on the product review * 💄Updating PostBin node Bin ID validation logic * :zap: Small improvements * :zap: Transform the bin requests and add additional properties Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :zap: Simplify auth * :shirt: Fix lint issue Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * fix(core): Fix problem with uploading large files (#3370) * :zap: fix * :zap: moved setting to axios config * fix(editor): Fix component in executions list failing custom validator (#3284) * :bug: Adjust size to custom validator * :rewind: Undo size change * :zap: Add size to component validator * fix(Discord Node): Fix broken rate limit handling (#3311) * :hammer: fix and additional option to return response headers * :zap: Remove "return response headers" parameter Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(ServiceNow Node): Add attachment functionality (#3137) * ✨ Add ServiceNow attachment functionality * :hammer: download fix * :zap: improvements * :zap: parameter name fix * :zap: download attachment for get all operation * :zap: filters update * :zap: hint update * :zap: Small improvements Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * :zap: Update URLs to n8n.io API (#3391) * fix(core): Fix migrations on non-public Postgres schema (#3356) * :bug: Fix UM migration * :zap: Account for schema in `search_path` * :fire: Remove unneeded schema refs * :test_tube: Account for alt schema in DB testing * :zap: Add schema to `IncreaseTypeVarcharLimit` * :zap: Set `search_path` in every migration * :zap: Set `search_path` in down migrations * refactor(core): Improve error message * feat(RabbitMQ Trigger Node): Make message acknowledgement and parallel processing configurable (#3385) * feat(RabbitMQ Trigger Node): Make message acknowledgement and concurrent processing configurable * :zap: Make sure that messages do not get executed multiple times * :shirt: Fix lint issue * :bug: Fix issue that for manual executions in "own" mode messages got know acknowledged * :zap: Increment count now that console.log got removed * :zap: Improvements * :zap: Fix default value * :zap: Improve display name * fix(Gmail Node): Fix sending attachments when filesystem mode is used (#3396) * fix(Google Sheet Node): Fix issue with null values and "Use Header Names as JSON Paths" option (#3395) * fixed Google Sheet 'Use Header Names as JSON Paths' issue when input data contains null values. https://community.n8n.io/t/error-cannot-read-properties-of-null-reading-tostring/14385/2 * :zap: Update URLs to n8n.io API (#3391) * fix(core): Fix migrations on non-public Postgres schema (#3356) * :bug: Fix UM migration * :zap: Account for schema in `search_path` * :fire: Remove unneeded schema refs * :test_tube: Account for alt schema in DB testing * :zap: Add schema to `IncreaseTypeVarcharLimit` * :zap: Set `search_path` in every migration * :zap: Set `search_path` in down migrations * refactor(core): Improve error message * feat(RabbitMQ Trigger Node): Make message acknowledgement and parallel processing configurable (#3385) * feat(RabbitMQ Trigger Node): Make message acknowledgement and concurrent processing configurable * :zap: Make sure that messages do not get executed multiple times * :shirt: Fix lint issue * :bug: Fix issue that for manual executions in "own" mode messages got know acknowledged * :zap: Increment count now that console.log got removed * :zap: Improvements * :zap: Fix default value * :zap: Improve display name * fix(Gmail Node): Fix sending attachments when filesystem mode is used (#3396) * :zap: Minor improvement Co-authored-by: Taha Sönmez <mtssonmez@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.101.0 * :arrow_up: Set n8n-workflow@0.101.0 on n8n-core * :bookmark: Release n8n-core@0.119.0 * :arrow_up: Set n8n-core@0.119.0 and n8n-workflow@0.101.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.58.0 * :arrow_up: Set n8n-core@0.119.0 and n8n-workflow@0.101.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.177.0 * :bookmark: Release n8n-design-system@0.22.0 * :arrow_up: Set n8n-design-system@0.22.0 and n8n-workflow@0.101.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.145.0 * :arrow_up: 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 * :bookmark: Release n8n@0.179.0 * :bookmark: Update main package.json to 0.179.0 * :books: Update CHANGELOG.md with version 0.179.0 * :zap: linter fixes * :zap: improvements * :zap: lock file fix * :zap: credentials update * feat(editor): Display node specific settings above general ones * fix(editor): Fix delete button hover spacing (#3412) * 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 * 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> * fix(editor): Fix stuck loading states (#3428) * feat(core): Add support for pairedItem (beta) (#3012) * :sparkles: Add pairedItem support * :shirt: Fix lint issue * :bug: Fix resolution in frontend * :bug: Fix resolution issue * :bug: Fix resolution in frontend * :bug: Fix another resolution issue in frontend * :zap: Try to automatically add pairedItem data if possible * :zap: Cleanup * :zap: Display expression errors in editor UI * :bug: Fix issue that it did not display errors in production * :bug: Fix auto-fix of missing pairedItem data * :bug: Fix frontend resolution for not executed nodes * :zap: Fail execution on pairedItem resolve issue and display information about itemIndex and runIndex * :zap: Allow that pairedItem is only set to number if runIndex is 0 * :sparkles: Improve Expression Errors * :zap: Remove no longer needed code * :zap: Make errors more helpful * :zap: Add additional errors * :shirt: Fix lint issue * :zap: Add pairedItem support to core nodes * :zap: Improve support in Merge-Node * :zap: Fix issue with not correctly converted incoming pairedItem data * :bug: Fix frontend resolve issue * :bug: Fix frontend parameter name display issue * :zap: Improve errors * :shirt: Fix lint issue * :zap: Improve errors * :zap: Make it possible to display parameter name in error messages * :zap: Improve error messages * :zap: Fix error message * :zap: Improve error messages * :zap: Add another error message * :zap: Simplify * refactor(core): Deduplicate encryption logic (#3434) * :zap: added function to credentials helper * Refactor function name * Fix lint issues Co-authored-by: Michael Kret <michael.k@radency.com> * test: Add timeout to `beforeAll` in users suite (#3433) * refactor(editor): Change node-setting's parameters order (#3435) * fix(core): Fix `user-management:reset` command (#3403) * :bug: Fix `email` setting * :test_tube: Add test * :test_tube: Add expectation for user email * :zap: Replace request with helper * refactor: Apply more `eslint-plugin-n8n-nodes-base` autofixable rules (#3432) * :zap: Update `lintfix` script * :shirt: Remove unneeded lint exceptions * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-description-miscased-url` (#3441) * :shirt: Apply `rule node-param-placeholder-miscased-id` (#3443) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-option-name-wrong-for-upsert` (#3446) * :shirt: Apply `node-param-min-value-wrong-for-limit` (#3442) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-wrong-for-dynamic-options` (#3454) * :hammer: fix * :zap: Fix `Assigned To` fields Co-authored-by: Michael Kret <michael.k@radency.com> * :shirt: Apply `rule node-param-default-wrong-for-number` (#3453) * :shirt: Apply `node-param-default-wrong-for-string` (#3452) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-miscased` (#3449) * :hammer: fix * :hammer: exceptions * :zap: review fixes * :shirt: Apply `node-param-description-lowercase-first-char` (#3451) * :zap: fix * :zap: review fixes * :zap: fix Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-description-wrong-for-dynamic-options` (#3456) * Rule working as intended * Add rule * :fire: Remove repetitions * :shirt: Add exceptions Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Small fix for `node-param-description-wrong-for-dynamic-options` * :shirt: Apply `node-param-default-wrong-for-fixed-collection` (#3460) * :shirt: Apply `node-param-description-line-break-html-tag` (#3462) * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-options-type-unsorted-items` (#3459) * :zap: fix * :hammer: exceptions * Add exception for Salesmate and Zoom Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :zap: Restore `lintfix` command Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> * fix(Hubspot Node): Fix loading of Contacts (#3426) * feat(QuickBooks Node): Add optional Tax item field (#3404) * Added tax refs * Nodelinter fixes * fix(EmailReadImap Node): Improve error handling (#3465) * refactor(core): Remove a floating promise * feat(Cal Trigger Node): Add cal.com Trigger Node (#3439) * options and operations added * IT WORKS! * Added ReturnALL to GET method * comit for PR * updating shared operations * :zap: linter fixes * :zap: improvements * :zap: lock file fix * :zap: credentials update * added cal trigger node * Removed console log * Added advanced fields * feat(core): Add support for pairedItem (beta) (#3012) * :sparkles: Add pairedItem support * :shirt: Fix lint issue * :bug: Fix resolution in frontend * :bug: Fix resolution issue * :bug: Fix resolution in frontend * :bug: Fix another resolution issue in frontend * :zap: Try to automatically add pairedItem data if possible * :zap: Cleanup * :zap: Display expression errors in editor UI * :bug: Fix issue that it did not display errors in production * :bug: Fix auto-fix of missing pairedItem data * :bug: Fix frontend resolution for not executed nodes * :zap: Fail execution on pairedItem resolve issue and display information about itemIndex and runIndex * :zap: Allow that pairedItem is only set to number if runIndex is 0 * :sparkles: Improve Expression Errors * :zap: Remove no longer needed code * :zap: Make errors more helpful * :zap: Add additional errors * :shirt: Fix lint issue * :zap: Add pairedItem support to core nodes * :zap: Improve support in Merge-Node * :zap: Fix issue with not correctly converted incoming pairedItem data * :bug: Fix frontend resolve issue * :bug: Fix frontend parameter name display issue * :zap: Improve errors * :shirt: Fix lint issue * :zap: Improve errors * :zap: Make it possible to display parameter name in error messages * :zap: Improve error messages * :zap: Fix error message * :zap: Improve error messages * :zap: Add another error message * :zap: Simplify * refactor(core): Deduplicate encryption logic (#3434) * :zap: added function to credentials helper * Refactor function name * Fix lint issues Co-authored-by: Michael Kret <michael.k@radency.com> * test: Add timeout to `beforeAll` in users suite (#3433) * refactor(editor): Change node-setting's parameters order (#3435) * fix(core): Fix `user-management:reset` command (#3403) * :bug: Fix `email` setting * :test_tube: Add test * :test_tube: Add expectation for user email * :zap: Replace request with helper * refactor: Apply more `eslint-plugin-n8n-nodes-base` autofixable rules (#3432) * :zap: Update `lintfix` script * :shirt: Remove unneeded lint exceptions * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-description-miscased-url` (#3441) * :shirt: Apply `rule node-param-placeholder-miscased-id` (#3443) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-option-name-wrong-for-upsert` (#3446) * :shirt: Apply `node-param-min-value-wrong-for-limit` (#3442) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-wrong-for-dynamic-options` (#3454) * :hammer: fix * :zap: Fix `Assigned To` fields Co-authored-by: Michael Kret <michael.k@radency.com> * :shirt: Apply `rule node-param-default-wrong-for-number` (#3453) * :shirt: Apply `node-param-default-wrong-for-string` (#3452) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-miscased` (#3449) * :hammer: fix * :hammer: exceptions * :zap: review fixes * :shirt: Apply `node-param-description-lowercase-first-char` (#3451) * :zap: fix * :zap: review fixes * :zap: fix Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-description-wrong-for-dynamic-options` (#3456) * Rule working as intended * Add rule * :fire: Remove repetitions * :shirt: Add exceptions Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Small fix for `node-param-description-wrong-for-dynamic-options` * :shirt: Apply `node-param-default-wrong-for-fixed-collection` (#3460) * :shirt: Apply `node-param-description-line-break-html-tag` (#3462) * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-options-type-unsorted-items` (#3459) * :zap: fix * :hammer: exceptions * Add exception for Salesmate and Zoom Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :zap: Restore `lintfix` command Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> * fix(Hubspot Node): Fix loading of Contacts (#3426) * feat(QuickBooks Node): Add optional Tax item field (#3404) * Added tax refs * Nodelinter fixes * fix(EmailReadImap Node): Improve error handling (#3465) * refactor(core): Remove a floating promise * :zap: Improvements Co-authored-by: alex meredith <alexanderm@packt.com> Co-authored-by: ajmeredith1200 <100841449+ajmeredith1200@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * :zap: Improve cal.com Trigger Node * :shirt: Fix lint issue * :zap: Minor improvements Co-authored-by: alex meredith <alexanderm@packt.com> Co-authored-by: ajmeredith1200 <100841449+ajmeredith1200@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Gonçalo Silva <goncalossilva@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: pemontto <939704+pemontto@users.noreply.github.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Taha Sönmez <35905778+tahasonmez@users.noreply.github.com> Co-authored-by: Taha Sönmez <mtssonmez@gmail.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Luca Berneking <l.berneking@mittwald.de> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
2022-06-05 11:31:29 -07:00
export type AWSRegion = (typeof regions)[number]['name'];
export type AwsCredentialsType = {
region: AWSRegion;
accessKeyId: string;
secretAccessKey: string;
temporaryCredentials: boolean;
customEndpoints: boolean;
sessionToken?: string;
rekognitionEndpoint?: string;
lambdaEndpoint?: string;
snsEndpoint?: string;
sesEndpoint?: string;
sqsEndpoint?: string;
s3Endpoint?: string;
};
// Some AWS services are global and don't have a region
// https://docs.aws.amazon.com/general/latest/gr/rande.html#global-endpoints
// Example: iam.amazonaws.com (global), s3.us-east-1.amazonaws.com (regional)
function parseAwsUrl(url: URL): { region: AWSRegion | null; service: string } {
const [service, region] = url.hostname.replace('amazonaws.com', '').split('.');
return { service, region: region as AWSRegion };
}
2019-10-04 13:01:25 -07:00
export class Aws implements ICredentialType {
name = 'aws';
2019-10-04 13:01:25 -07:00
displayName = 'AWS';
documentationUrl = 'aws';
icon = 'file:icons/AWS.svg';
properties: INodeProperties[] = [
2019-10-04 13:01:25 -07:00
{
displayName: 'Region',
name: 'region',
refactor: Allow only valid regions in AWS credentials (#3380) * options and operations added * IT WORKS! * Added ReturnALL to GET method * comit for PR * updating shared operations * (AWS): Allow only valid values of Region in the credentials modal * fix(core): Fix issue that "closeFunction" got called twice * fix(core): Prevent expressions XSS (#3366) * :sparkles: Added checks for window object access in template strings. * :sparkles: Added self, prompt and confirm to blocklist. Changed window usage condition. * fix(editor): Fix conflicting hover states between sticky button and node view (#3368) * 🐛 Fixing conflicting hover states between sticky button and node view. * 🔨 Updating and optimizing sticky menu hover logic * 📇 Removing redundant comments from `NodeView`. * fix(editor): Fix credential display bug (#3372) * :zap: Filter credentials by version * :zap: Reuse helper * fix(NextCloud Node): Fix folder list with Nextcloud v24 (#3386) * initial fix for v24 folder listing * implemented new credential methods * Nodelinter fixes * feat(PostBin Node): Add PostBin node (#3236) * 🚧 Initial progress on PostBin node. * ✨ Implemented Bin and Request operations for PostBin node. * 🚧 Reworked the node in the declarative way. * 🚧 PosBin node refactoring after reworking it. * ✨ Implemented Bin id parsing in PostBin node. Done some final refactoring and documentation. * :zap: Improvements * :zap: Add comments * 👌Updating the PostBin node based on the product review * 💄Updating PostBin node Bin ID validation logic * :zap: Small improvements * :zap: Transform the bin requests and add additional properties Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * feat(Todoist Node): Add support for specifying the parent task when adding and listing tasks (#3161) * Todoist: Update parent field to parent_id `parent` is deprecated. * Todoist: Move Labels to "additional fields" when adding a task Improves consistency with other operations. * Todoist: Improve section re-load when switching projects It only worked when creating tasks, due to naming and nesting inconsistencies between different operations. Making it consistent adds predictability and allows reuse between operations. * Todoist: Add support for parent_id when creating and listing tasks * :zap: fixes * :zap: test credentials fix * :zap: parameters naming fix * :zap: undo for breaking change * feat(Salesforce Node): Add country field (#3314) * fix(Slack Node): Fix Channel->Kick (#3365) * feat(core): Allow credential reuse on HTTP Request node (#3228) * :sparkles: Create controller * :zap: Mount controller * :pencil2: Add error messages * :sparkles: Create scopes fetcher * :zap: Account for non-existent credential type * :blue_book: Type scopes request * :zap: Adjust error message * :test_tube: Add tests * :sparkles: Introduce simple node versioning * :zap: Add example how to read version in node-code for custom logic * :bug: Fix setting of parameters * :bug: Fix another instance where it sets the wrong parameter * :zap: Remove unnecessary TOODs * :sparkles: Re-version HTTP Request node * :shirt: Satisfy linter * :zap: Retrieve node version * :rewind: Undo Jan's changes to Set node * :test_tube: Fix CI/CD for `/oauth2-credential` tests (#3230) * :bug: Fix notice warning missing background color (#3231) * :bug: Check for generic auth in node cred types * :zap: Refactor credentials dropdown for HTTP Request node (#3222) * :zap: Discoverability flow (#3229) * :sparkles: Added node credentials type proxy. Changed node credentials input order. * :zap: Add computed property from versioning branch * :bug: Fix cred ref lost and unsaved * :zap: Make options consistent with cred type names * :zap: Use prop to set component order * :zap: Use constant and version * :zap: Fix rendering for generic auth creds * :zap: Mark as required on first selection * :zap: Implement discoverability flow * :zap: Mark as required on subsequent selections * :zap: Fix marking as required after cred deletion * :zap: Refactor to clean up * :zap: Detect position automatically * :zap: Add i18n to option label * :zap: Hide subtitle for custom action * :zap: Detect active credential type * :zap: Prop drilling to re-render select * :fire: Remove unneeded property * :pencil2: Rename arg * :fire: Remove unused import * :fire: Remove unneeded getters * :fire: Remove unused import * :zap: Generalize cred component positioning * :zap: Set up request * :bug: Fix edge case in endpoint * :zap: Display scopes alert box * :rewind: Revert "Generalize cred comp positioning" This reverts commit 75eea89273b854110fa6d1f96c7c1d78dd3b0731. * :zap: Consolidate HTTPRN check * :zap: Fix hue percentage to degree * :fire: Remove unused import * :fire: Remove unused import * :fire: Remove unused class * :fire: Remove unused import * :blue_book: Create type for HTTPRN v2 auth params * :pencil2: Rename check * :fire: Remove unused import * :pencil2: Add i18n to `reportUnsetCredential()` * :zap: Refactor Alex's spacing changes * :zap: Post-merge fixes * :zap: Add docs link * :fire: Exclude Notion OAuth cred * :pencil2: Update copy * :pencil2: Rename param * :art: Reposition notice and simplify styling * :pencil2: Update copy * :pencil2: Update copy * :zap: Hide params during custom action * :zap: Show notice if any cred type supported * :bug: Prevent scopes text overflow * :fire: Remove superfluous check * :pencil2: Break up docstring * :art: Tweak notice styling * :zap: Reorder cred param in Webhook node * :pencil2: Shorten cred name in scopes notice * :test_tube: Update Notice snapshots * :bug: Fix check when `globalRole` is `undefined` * :rewind: Revert 3f2c4a6 * :zap: Apply feedback from Product * :test_tube: Update snapshot * :zap: Adjust regex expansion pattern for singular * :fire: Remove unused import * :fire: Remove logging * :zap: Make `somethingElse` key more unique * :zap: Move something else to constants * :zap: Consolidate notice component * :zap: Apply latest feedback * :test_tube: Update tests * :test_tube: Update snapshot * :pencil2: Fix singular version * :test_tube: Finalize tests * :pencil2: Rename constant * :test_tube: Expand tests * :fire: Remove `truncate` prop * :truck: Move scopes fetching to store * :truck: Move method to component * :zap: Use constant * :zap: Refactor `Notice` component * :test_tube: Update tests * :fire: Remove unused keys * :zap: Inject custom API call option * :fire: Remove unused props * :art: Use `compact` prop * :test_tube: Update snapshots * :truck: Move scopes to store * :truck: Move `nodeCredentialTypes` to parent * :pencil2: Rename cred types per branding * :bug: Clear scopes when none * :zap: Add default * :truck: Move `newHttpRequestNodeCredentialType` to parent * :fire: Remove test data * :zap: Separate lines for readability * :zap: Change reference from node to node name * :pencil2: Rename i18n keys * :zap: Refactor OAuth check * :fire: Remove unused key * :truck: Move `OAuth1/2 API` to i18n * :zap: Refactor `skipCheck` * :zap: Add `stopPropagation` and `preventDefault` * :truck: Move active credential scopes logic to store * :art: Fix spacing for `NodeWebhooks` component * :zap: Implement feedback * :zap: Update HTTPRN default and issue copy * Refactor to use `CredentialsSelect` param (#3304) * :zap: Refactor into cred type param * :zap: Componentize scopes notice * :fire: Remove unused data * :fire: Remove unused `loadOptions` * :zap: Componentize `NodeCredentialType` * :bug: Fix param validation * :fire: Remove dup methods * :zap: Refactor all references to `isHttpRequestNodeV2` * :art: Fix styling * :fire: Remove unused import * :fire: Remove unused properties * :art: Fix spacing for Pipedrive Trigger node * :art: Undo Webhook node styling change * :fire: Remove unused style * :zap: Cover `httpHeaderAuth` edge case * :bug: Fix `this.node` reference * :truck: Rename to `credentialsSelect` * :bug: Fix mistaken renaming * :zap: Set one attribute per line * :zap: Move condition to instantiation site * :truck: Rename prop * :zap: Refactor away `prepareScopesNotice` * :pencil2: Rename i18n keys * :pencil2: Update i18n calls * :pencil2: Add more i18n keys * :fire: Remove unused props * :pencil2: Add explanatory comment * :zap: Adjust check in `hasProxyAuth` * :zap: Refactor `credentialSelected` from prop to event * :zap: Eventify `valueChanged`, `setFocus`, `onBlur` * :zap: Eventify `optionSelected` * :zap: Add `noDataExpression` * :fire: Remove logging * :fire: Remove URL from scopes * :zap: Disregard expressions for display * :art: Use CSS modules * :blue_book: Tigthen interface * :bug: Fix generic auth display * :bug: Fix generic auth validation * :blue_book: Loosen type * :truck: Move event params to end * :zap: Generalize reference * :zap: Refactor generic auth as `credentialsSelect` param * :rewind: Restore check for `httpHeaderAuth ` * :truck: Rename `existing` to `predefined` * Extend metrics for HTTP Request node (#3282) * :zap: Extend metrics * :test_tube: Add tests * :zap: Update param names Co-authored-by: Alex Grozav <alex@grozav.com> * :zap: Update check per new branch * :zap: Include generic auth check * :zap: Adjust telemetry (#3359) * :zap: Filter credential types by label Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.100.0 * :arrow_up: Set n8n-workflow@0.100.0 on n8n-core * :bookmark: Release n8n-core@0.118.0 * :arrow_up: Set n8n-core@0.118.0 and n8n-workflow@0.100.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.57.0 * :arrow_up: Set n8n-core@0.118.0 and n8n-workflow@0.100.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.176.0 * :bookmark: Release n8n-design-system@0.21.0 * :arrow_up: Set n8n-design-system@0.21.0 and n8n-workflow@0.100.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.144.0 * :arrow_up: 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 * :bookmark: Release n8n@0.178.0 * :bookmark: Update main package.json to 0.178.0 * :books: Update CHANGELOG.md with version 0.178.0 * fix(editor): Fix problem with HTTP Request Node 1 credentials to be set (#3371) * :bookmark: Release n8n-editor-ui@0.144.1 * :arrow_up: Set n8n-editor-ui@0.144.1 on n8n * :bookmark: Release n8n@0.178.1 * :bookmark: Update main package.json to 0.178.1 * :books: Update CHANGELOG.md with version 0.178.1 * fix(editor): Fix parameter loading bug (#3374) * fix parameter loading bug * remove duplicate check * :bookmark: Release n8n-editor-ui@0.144.2 * :arrow_up: Set n8n-editor-ui@0.144.2 on n8n * :bookmark: Release n8n@0.178.2 * :bookmark: Update main package.json to 0.178.2 * :books: Update CHANGELOG.md with version 0.178.2 * :zap: Improvements * fix(core): Fix issue that "closeFunction" got called twice * fix(core): Prevent expressions XSS (#3366) * :sparkles: Added checks for window object access in template strings. * :sparkles: Added self, prompt and confirm to blocklist. Changed window usage condition. * fix(editor): Fix conflicting hover states between sticky button and node view (#3368) * 🐛 Fixing conflicting hover states between sticky button and node view. * 🔨 Updating and optimizing sticky menu hover logic * 📇 Removing redundant comments from `NodeView`. * fix(editor): Fix credential display bug (#3372) * :zap: Filter credentials by version * :zap: Reuse helper * fix(NextCloud Node): Fix folder list with Nextcloud v24 (#3386) * initial fix for v24 folder listing * implemented new credential methods * Nodelinter fixes * feat(PostBin Node): Add PostBin node (#3236) * 🚧 Initial progress on PostBin node. * ✨ Implemented Bin and Request operations for PostBin node. * 🚧 Reworked the node in the declarative way. * 🚧 PosBin node refactoring after reworking it. * ✨ Implemented Bin id parsing in PostBin node. Done some final refactoring and documentation. * :zap: Improvements * :zap: Add comments * 👌Updating the PostBin node based on the product review * 💄Updating PostBin node Bin ID validation logic * :zap: Small improvements * :zap: Transform the bin requests and add additional properties Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :zap: Simplify auth * :shirt: Fix lint issue Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * fix(core): Fix problem with uploading large files (#3370) * :zap: fix * :zap: moved setting to axios config * fix(editor): Fix component in executions list failing custom validator (#3284) * :bug: Adjust size to custom validator * :rewind: Undo size change * :zap: Add size to component validator * fix(Discord Node): Fix broken rate limit handling (#3311) * :hammer: fix and additional option to return response headers * :zap: Remove "return response headers" parameter Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(ServiceNow Node): Add attachment functionality (#3137) * ✨ Add ServiceNow attachment functionality * :hammer: download fix * :zap: improvements * :zap: parameter name fix * :zap: download attachment for get all operation * :zap: filters update * :zap: hint update * :zap: Small improvements Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * :zap: Update URLs to n8n.io API (#3391) * fix(core): Fix migrations on non-public Postgres schema (#3356) * :bug: Fix UM migration * :zap: Account for schema in `search_path` * :fire: Remove unneeded schema refs * :test_tube: Account for alt schema in DB testing * :zap: Add schema to `IncreaseTypeVarcharLimit` * :zap: Set `search_path` in every migration * :zap: Set `search_path` in down migrations * refactor(core): Improve error message * feat(RabbitMQ Trigger Node): Make message acknowledgement and parallel processing configurable (#3385) * feat(RabbitMQ Trigger Node): Make message acknowledgement and concurrent processing configurable * :zap: Make sure that messages do not get executed multiple times * :shirt: Fix lint issue * :bug: Fix issue that for manual executions in "own" mode messages got know acknowledged * :zap: Increment count now that console.log got removed * :zap: Improvements * :zap: Fix default value * :zap: Improve display name * fix(Gmail Node): Fix sending attachments when filesystem mode is used (#3396) * fix(Google Sheet Node): Fix issue with null values and "Use Header Names as JSON Paths" option (#3395) * fixed Google Sheet 'Use Header Names as JSON Paths' issue when input data contains null values. https://community.n8n.io/t/error-cannot-read-properties-of-null-reading-tostring/14385/2 * :zap: Update URLs to n8n.io API (#3391) * fix(core): Fix migrations on non-public Postgres schema (#3356) * :bug: Fix UM migration * :zap: Account for schema in `search_path` * :fire: Remove unneeded schema refs * :test_tube: Account for alt schema in DB testing * :zap: Add schema to `IncreaseTypeVarcharLimit` * :zap: Set `search_path` in every migration * :zap: Set `search_path` in down migrations * refactor(core): Improve error message * feat(RabbitMQ Trigger Node): Make message acknowledgement and parallel processing configurable (#3385) * feat(RabbitMQ Trigger Node): Make message acknowledgement and concurrent processing configurable * :zap: Make sure that messages do not get executed multiple times * :shirt: Fix lint issue * :bug: Fix issue that for manual executions in "own" mode messages got know acknowledged * :zap: Increment count now that console.log got removed * :zap: Improvements * :zap: Fix default value * :zap: Improve display name * fix(Gmail Node): Fix sending attachments when filesystem mode is used (#3396) * :zap: Minor improvement Co-authored-by: Taha Sönmez <mtssonmez@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.101.0 * :arrow_up: Set n8n-workflow@0.101.0 on n8n-core * :bookmark: Release n8n-core@0.119.0 * :arrow_up: Set n8n-core@0.119.0 and n8n-workflow@0.101.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.58.0 * :arrow_up: Set n8n-core@0.119.0 and n8n-workflow@0.101.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.177.0 * :bookmark: Release n8n-design-system@0.22.0 * :arrow_up: Set n8n-design-system@0.22.0 and n8n-workflow@0.101.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.145.0 * :arrow_up: 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 * :bookmark: Release n8n@0.179.0 * :bookmark: Update main package.json to 0.179.0 * :books: Update CHANGELOG.md with version 0.179.0 * :zap: linter fixes * :zap: improvements * :zap: lock file fix * :zap: credentials update * feat(editor): Display node specific settings above general ones * fix(editor): Fix delete button hover spacing (#3412) * 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 * 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> * fix(editor): Fix stuck loading states (#3428) * feat(core): Add support for pairedItem (beta) (#3012) * :sparkles: Add pairedItem support * :shirt: Fix lint issue * :bug: Fix resolution in frontend * :bug: Fix resolution issue * :bug: Fix resolution in frontend * :bug: Fix another resolution issue in frontend * :zap: Try to automatically add pairedItem data if possible * :zap: Cleanup * :zap: Display expression errors in editor UI * :bug: Fix issue that it did not display errors in production * :bug: Fix auto-fix of missing pairedItem data * :bug: Fix frontend resolution for not executed nodes * :zap: Fail execution on pairedItem resolve issue and display information about itemIndex and runIndex * :zap: Allow that pairedItem is only set to number if runIndex is 0 * :sparkles: Improve Expression Errors * :zap: Remove no longer needed code * :zap: Make errors more helpful * :zap: Add additional errors * :shirt: Fix lint issue * :zap: Add pairedItem support to core nodes * :zap: Improve support in Merge-Node * :zap: Fix issue with not correctly converted incoming pairedItem data * :bug: Fix frontend resolve issue * :bug: Fix frontend parameter name display issue * :zap: Improve errors * :shirt: Fix lint issue * :zap: Improve errors * :zap: Make it possible to display parameter name in error messages * :zap: Improve error messages * :zap: Fix error message * :zap: Improve error messages * :zap: Add another error message * :zap: Simplify * refactor(core): Deduplicate encryption logic (#3434) * :zap: added function to credentials helper * Refactor function name * Fix lint issues Co-authored-by: Michael Kret <michael.k@radency.com> * test: Add timeout to `beforeAll` in users suite (#3433) * refactor(editor): Change node-setting's parameters order (#3435) * fix(core): Fix `user-management:reset` command (#3403) * :bug: Fix `email` setting * :test_tube: Add test * :test_tube: Add expectation for user email * :zap: Replace request with helper * refactor: Apply more `eslint-plugin-n8n-nodes-base` autofixable rules (#3432) * :zap: Update `lintfix` script * :shirt: Remove unneeded lint exceptions * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-description-miscased-url` (#3441) * :shirt: Apply `rule node-param-placeholder-miscased-id` (#3443) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-option-name-wrong-for-upsert` (#3446) * :shirt: Apply `node-param-min-value-wrong-for-limit` (#3442) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-wrong-for-dynamic-options` (#3454) * :hammer: fix * :zap: Fix `Assigned To` fields Co-authored-by: Michael Kret <michael.k@radency.com> * :shirt: Apply `rule node-param-default-wrong-for-number` (#3453) * :shirt: Apply `node-param-default-wrong-for-string` (#3452) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-miscased` (#3449) * :hammer: fix * :hammer: exceptions * :zap: review fixes * :shirt: Apply `node-param-description-lowercase-first-char` (#3451) * :zap: fix * :zap: review fixes * :zap: fix Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-description-wrong-for-dynamic-options` (#3456) * Rule working as intended * Add rule * :fire: Remove repetitions * :shirt: Add exceptions Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Small fix for `node-param-description-wrong-for-dynamic-options` * :shirt: Apply `node-param-default-wrong-for-fixed-collection` (#3460) * :shirt: Apply `node-param-description-line-break-html-tag` (#3462) * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-options-type-unsorted-items` (#3459) * :zap: fix * :hammer: exceptions * Add exception for Salesmate and Zoom Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :zap: Restore `lintfix` command Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> * fix(Hubspot Node): Fix loading of Contacts (#3426) * feat(QuickBooks Node): Add optional Tax item field (#3404) * Added tax refs * Nodelinter fixes * fix(EmailReadImap Node): Improve error handling (#3465) * refactor(core): Remove a floating promise * feat(Cal Trigger Node): Add cal.com Trigger Node (#3439) * options and operations added * IT WORKS! * Added ReturnALL to GET method * comit for PR * updating shared operations * :zap: linter fixes * :zap: improvements * :zap: lock file fix * :zap: credentials update * added cal trigger node * Removed console log * Added advanced fields * feat(core): Add support for pairedItem (beta) (#3012) * :sparkles: Add pairedItem support * :shirt: Fix lint issue * :bug: Fix resolution in frontend * :bug: Fix resolution issue * :bug: Fix resolution in frontend * :bug: Fix another resolution issue in frontend * :zap: Try to automatically add pairedItem data if possible * :zap: Cleanup * :zap: Display expression errors in editor UI * :bug: Fix issue that it did not display errors in production * :bug: Fix auto-fix of missing pairedItem data * :bug: Fix frontend resolution for not executed nodes * :zap: Fail execution on pairedItem resolve issue and display information about itemIndex and runIndex * :zap: Allow that pairedItem is only set to number if runIndex is 0 * :sparkles: Improve Expression Errors * :zap: Remove no longer needed code * :zap: Make errors more helpful * :zap: Add additional errors * :shirt: Fix lint issue * :zap: Add pairedItem support to core nodes * :zap: Improve support in Merge-Node * :zap: Fix issue with not correctly converted incoming pairedItem data * :bug: Fix frontend resolve issue * :bug: Fix frontend parameter name display issue * :zap: Improve errors * :shirt: Fix lint issue * :zap: Improve errors * :zap: Make it possible to display parameter name in error messages * :zap: Improve error messages * :zap: Fix error message * :zap: Improve error messages * :zap: Add another error message * :zap: Simplify * refactor(core): Deduplicate encryption logic (#3434) * :zap: added function to credentials helper * Refactor function name * Fix lint issues Co-authored-by: Michael Kret <michael.k@radency.com> * test: Add timeout to `beforeAll` in users suite (#3433) * refactor(editor): Change node-setting's parameters order (#3435) * fix(core): Fix `user-management:reset` command (#3403) * :bug: Fix `email` setting * :test_tube: Add test * :test_tube: Add expectation for user email * :zap: Replace request with helper * refactor: Apply more `eslint-plugin-n8n-nodes-base` autofixable rules (#3432) * :zap: Update `lintfix` script * :shirt: Remove unneeded lint exceptions * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-description-miscased-url` (#3441) * :shirt: Apply `rule node-param-placeholder-miscased-id` (#3443) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-option-name-wrong-for-upsert` (#3446) * :shirt: Apply `node-param-min-value-wrong-for-limit` (#3442) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-wrong-for-dynamic-options` (#3454) * :hammer: fix * :zap: Fix `Assigned To` fields Co-authored-by: Michael Kret <michael.k@radency.com> * :shirt: Apply `rule node-param-default-wrong-for-number` (#3453) * :shirt: Apply `node-param-default-wrong-for-string` (#3452) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-miscased` (#3449) * :hammer: fix * :hammer: exceptions * :zap: review fixes * :shirt: Apply `node-param-description-lowercase-first-char` (#3451) * :zap: fix * :zap: review fixes * :zap: fix Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-description-wrong-for-dynamic-options` (#3456) * Rule working as intended * Add rule * :fire: Remove repetitions * :shirt: Add exceptions Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Small fix for `node-param-description-wrong-for-dynamic-options` * :shirt: Apply `node-param-default-wrong-for-fixed-collection` (#3460) * :shirt: Apply `node-param-description-line-break-html-tag` (#3462) * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-options-type-unsorted-items` (#3459) * :zap: fix * :hammer: exceptions * Add exception for Salesmate and Zoom Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :zap: Restore `lintfix` command Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> * fix(Hubspot Node): Fix loading of Contacts (#3426) * feat(QuickBooks Node): Add optional Tax item field (#3404) * Added tax refs * Nodelinter fixes * fix(EmailReadImap Node): Improve error handling (#3465) * refactor(core): Remove a floating promise * :zap: Improvements Co-authored-by: alex meredith <alexanderm@packt.com> Co-authored-by: ajmeredith1200 <100841449+ajmeredith1200@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * :zap: Improve cal.com Trigger Node * :shirt: Fix lint issue * :zap: Minor improvements Co-authored-by: alex meredith <alexanderm@packt.com> Co-authored-by: ajmeredith1200 <100841449+ajmeredith1200@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Gonçalo Silva <goncalossilva@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: pemontto <939704+pemontto@users.noreply.github.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Taha Sönmez <35905778+tahasonmez@users.noreply.github.com> Co-authored-by: Taha Sönmez <mtssonmez@gmail.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Luca Berneking <l.berneking@mittwald.de> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
2022-06-05 11:31:29 -07:00
type: 'options',
options: regions.map((r) => ({
refactor: Allow only valid regions in AWS credentials (#3380) * options and operations added * IT WORKS! * Added ReturnALL to GET method * comit for PR * updating shared operations * (AWS): Allow only valid values of Region in the credentials modal * fix(core): Fix issue that "closeFunction" got called twice * fix(core): Prevent expressions XSS (#3366) * :sparkles: Added checks for window object access in template strings. * :sparkles: Added self, prompt and confirm to blocklist. Changed window usage condition. * fix(editor): Fix conflicting hover states between sticky button and node view (#3368) * 🐛 Fixing conflicting hover states between sticky button and node view. * 🔨 Updating and optimizing sticky menu hover logic * 📇 Removing redundant comments from `NodeView`. * fix(editor): Fix credential display bug (#3372) * :zap: Filter credentials by version * :zap: Reuse helper * fix(NextCloud Node): Fix folder list with Nextcloud v24 (#3386) * initial fix for v24 folder listing * implemented new credential methods * Nodelinter fixes * feat(PostBin Node): Add PostBin node (#3236) * 🚧 Initial progress on PostBin node. * ✨ Implemented Bin and Request operations for PostBin node. * 🚧 Reworked the node in the declarative way. * 🚧 PosBin node refactoring after reworking it. * ✨ Implemented Bin id parsing in PostBin node. Done some final refactoring and documentation. * :zap: Improvements * :zap: Add comments * 👌Updating the PostBin node based on the product review * 💄Updating PostBin node Bin ID validation logic * :zap: Small improvements * :zap: Transform the bin requests and add additional properties Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * feat(Todoist Node): Add support for specifying the parent task when adding and listing tasks (#3161) * Todoist: Update parent field to parent_id `parent` is deprecated. * Todoist: Move Labels to "additional fields" when adding a task Improves consistency with other operations. * Todoist: Improve section re-load when switching projects It only worked when creating tasks, due to naming and nesting inconsistencies between different operations. Making it consistent adds predictability and allows reuse between operations. * Todoist: Add support for parent_id when creating and listing tasks * :zap: fixes * :zap: test credentials fix * :zap: parameters naming fix * :zap: undo for breaking change * feat(Salesforce Node): Add country field (#3314) * fix(Slack Node): Fix Channel->Kick (#3365) * feat(core): Allow credential reuse on HTTP Request node (#3228) * :sparkles: Create controller * :zap: Mount controller * :pencil2: Add error messages * :sparkles: Create scopes fetcher * :zap: Account for non-existent credential type * :blue_book: Type scopes request * :zap: Adjust error message * :test_tube: Add tests * :sparkles: Introduce simple node versioning * :zap: Add example how to read version in node-code for custom logic * :bug: Fix setting of parameters * :bug: Fix another instance where it sets the wrong parameter * :zap: Remove unnecessary TOODs * :sparkles: Re-version HTTP Request node * :shirt: Satisfy linter * :zap: Retrieve node version * :rewind: Undo Jan's changes to Set node * :test_tube: Fix CI/CD for `/oauth2-credential` tests (#3230) * :bug: Fix notice warning missing background color (#3231) * :bug: Check for generic auth in node cred types * :zap: Refactor credentials dropdown for HTTP Request node (#3222) * :zap: Discoverability flow (#3229) * :sparkles: Added node credentials type proxy. Changed node credentials input order. * :zap: Add computed property from versioning branch * :bug: Fix cred ref lost and unsaved * :zap: Make options consistent with cred type names * :zap: Use prop to set component order * :zap: Use constant and version * :zap: Fix rendering for generic auth creds * :zap: Mark as required on first selection * :zap: Implement discoverability flow * :zap: Mark as required on subsequent selections * :zap: Fix marking as required after cred deletion * :zap: Refactor to clean up * :zap: Detect position automatically * :zap: Add i18n to option label * :zap: Hide subtitle for custom action * :zap: Detect active credential type * :zap: Prop drilling to re-render select * :fire: Remove unneeded property * :pencil2: Rename arg * :fire: Remove unused import * :fire: Remove unneeded getters * :fire: Remove unused import * :zap: Generalize cred component positioning * :zap: Set up request * :bug: Fix edge case in endpoint * :zap: Display scopes alert box * :rewind: Revert "Generalize cred comp positioning" This reverts commit 75eea89273b854110fa6d1f96c7c1d78dd3b0731. * :zap: Consolidate HTTPRN check * :zap: Fix hue percentage to degree * :fire: Remove unused import * :fire: Remove unused import * :fire: Remove unused class * :fire: Remove unused import * :blue_book: Create type for HTTPRN v2 auth params * :pencil2: Rename check * :fire: Remove unused import * :pencil2: Add i18n to `reportUnsetCredential()` * :zap: Refactor Alex's spacing changes * :zap: Post-merge fixes * :zap: Add docs link * :fire: Exclude Notion OAuth cred * :pencil2: Update copy * :pencil2: Rename param * :art: Reposition notice and simplify styling * :pencil2: Update copy * :pencil2: Update copy * :zap: Hide params during custom action * :zap: Show notice if any cred type supported * :bug: Prevent scopes text overflow * :fire: Remove superfluous check * :pencil2: Break up docstring * :art: Tweak notice styling * :zap: Reorder cred param in Webhook node * :pencil2: Shorten cred name in scopes notice * :test_tube: Update Notice snapshots * :bug: Fix check when `globalRole` is `undefined` * :rewind: Revert 3f2c4a6 * :zap: Apply feedback from Product * :test_tube: Update snapshot * :zap: Adjust regex expansion pattern for singular * :fire: Remove unused import * :fire: Remove logging * :zap: Make `somethingElse` key more unique * :zap: Move something else to constants * :zap: Consolidate notice component * :zap: Apply latest feedback * :test_tube: Update tests * :test_tube: Update snapshot * :pencil2: Fix singular version * :test_tube: Finalize tests * :pencil2: Rename constant * :test_tube: Expand tests * :fire: Remove `truncate` prop * :truck: Move scopes fetching to store * :truck: Move method to component * :zap: Use constant * :zap: Refactor `Notice` component * :test_tube: Update tests * :fire: Remove unused keys * :zap: Inject custom API call option * :fire: Remove unused props * :art: Use `compact` prop * :test_tube: Update snapshots * :truck: Move scopes to store * :truck: Move `nodeCredentialTypes` to parent * :pencil2: Rename cred types per branding * :bug: Clear scopes when none * :zap: Add default * :truck: Move `newHttpRequestNodeCredentialType` to parent * :fire: Remove test data * :zap: Separate lines for readability * :zap: Change reference from node to node name * :pencil2: Rename i18n keys * :zap: Refactor OAuth check * :fire: Remove unused key * :truck: Move `OAuth1/2 API` to i18n * :zap: Refactor `skipCheck` * :zap: Add `stopPropagation` and `preventDefault` * :truck: Move active credential scopes logic to store * :art: Fix spacing for `NodeWebhooks` component * :zap: Implement feedback * :zap: Update HTTPRN default and issue copy * Refactor to use `CredentialsSelect` param (#3304) * :zap: Refactor into cred type param * :zap: Componentize scopes notice * :fire: Remove unused data * :fire: Remove unused `loadOptions` * :zap: Componentize `NodeCredentialType` * :bug: Fix param validation * :fire: Remove dup methods * :zap: Refactor all references to `isHttpRequestNodeV2` * :art: Fix styling * :fire: Remove unused import * :fire: Remove unused properties * :art: Fix spacing for Pipedrive Trigger node * :art: Undo Webhook node styling change * :fire: Remove unused style * :zap: Cover `httpHeaderAuth` edge case * :bug: Fix `this.node` reference * :truck: Rename to `credentialsSelect` * :bug: Fix mistaken renaming * :zap: Set one attribute per line * :zap: Move condition to instantiation site * :truck: Rename prop * :zap: Refactor away `prepareScopesNotice` * :pencil2: Rename i18n keys * :pencil2: Update i18n calls * :pencil2: Add more i18n keys * :fire: Remove unused props * :pencil2: Add explanatory comment * :zap: Adjust check in `hasProxyAuth` * :zap: Refactor `credentialSelected` from prop to event * :zap: Eventify `valueChanged`, `setFocus`, `onBlur` * :zap: Eventify `optionSelected` * :zap: Add `noDataExpression` * :fire: Remove logging * :fire: Remove URL from scopes * :zap: Disregard expressions for display * :art: Use CSS modules * :blue_book: Tigthen interface * :bug: Fix generic auth display * :bug: Fix generic auth validation * :blue_book: Loosen type * :truck: Move event params to end * :zap: Generalize reference * :zap: Refactor generic auth as `credentialsSelect` param * :rewind: Restore check for `httpHeaderAuth ` * :truck: Rename `existing` to `predefined` * Extend metrics for HTTP Request node (#3282) * :zap: Extend metrics * :test_tube: Add tests * :zap: Update param names Co-authored-by: Alex Grozav <alex@grozav.com> * :zap: Update check per new branch * :zap: Include generic auth check * :zap: Adjust telemetry (#3359) * :zap: Filter credential types by label Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.100.0 * :arrow_up: Set n8n-workflow@0.100.0 on n8n-core * :bookmark: Release n8n-core@0.118.0 * :arrow_up: Set n8n-core@0.118.0 and n8n-workflow@0.100.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.57.0 * :arrow_up: Set n8n-core@0.118.0 and n8n-workflow@0.100.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.176.0 * :bookmark: Release n8n-design-system@0.21.0 * :arrow_up: Set n8n-design-system@0.21.0 and n8n-workflow@0.100.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.144.0 * :arrow_up: 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 * :bookmark: Release n8n@0.178.0 * :bookmark: Update main package.json to 0.178.0 * :books: Update CHANGELOG.md with version 0.178.0 * fix(editor): Fix problem with HTTP Request Node 1 credentials to be set (#3371) * :bookmark: Release n8n-editor-ui@0.144.1 * :arrow_up: Set n8n-editor-ui@0.144.1 on n8n * :bookmark: Release n8n@0.178.1 * :bookmark: Update main package.json to 0.178.1 * :books: Update CHANGELOG.md with version 0.178.1 * fix(editor): Fix parameter loading bug (#3374) * fix parameter loading bug * remove duplicate check * :bookmark: Release n8n-editor-ui@0.144.2 * :arrow_up: Set n8n-editor-ui@0.144.2 on n8n * :bookmark: Release n8n@0.178.2 * :bookmark: Update main package.json to 0.178.2 * :books: Update CHANGELOG.md with version 0.178.2 * :zap: Improvements * fix(core): Fix issue that "closeFunction" got called twice * fix(core): Prevent expressions XSS (#3366) * :sparkles: Added checks for window object access in template strings. * :sparkles: Added self, prompt and confirm to blocklist. Changed window usage condition. * fix(editor): Fix conflicting hover states between sticky button and node view (#3368) * 🐛 Fixing conflicting hover states between sticky button and node view. * 🔨 Updating and optimizing sticky menu hover logic * 📇 Removing redundant comments from `NodeView`. * fix(editor): Fix credential display bug (#3372) * :zap: Filter credentials by version * :zap: Reuse helper * fix(NextCloud Node): Fix folder list with Nextcloud v24 (#3386) * initial fix for v24 folder listing * implemented new credential methods * Nodelinter fixes * feat(PostBin Node): Add PostBin node (#3236) * 🚧 Initial progress on PostBin node. * ✨ Implemented Bin and Request operations for PostBin node. * 🚧 Reworked the node in the declarative way. * 🚧 PosBin node refactoring after reworking it. * ✨ Implemented Bin id parsing in PostBin node. Done some final refactoring and documentation. * :zap: Improvements * :zap: Add comments * 👌Updating the PostBin node based on the product review * 💄Updating PostBin node Bin ID validation logic * :zap: Small improvements * :zap: Transform the bin requests and add additional properties Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :zap: Simplify auth * :shirt: Fix lint issue Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * fix(core): Fix problem with uploading large files (#3370) * :zap: fix * :zap: moved setting to axios config * fix(editor): Fix component in executions list failing custom validator (#3284) * :bug: Adjust size to custom validator * :rewind: Undo size change * :zap: Add size to component validator * fix(Discord Node): Fix broken rate limit handling (#3311) * :hammer: fix and additional option to return response headers * :zap: Remove "return response headers" parameter Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(ServiceNow Node): Add attachment functionality (#3137) * ✨ Add ServiceNow attachment functionality * :hammer: download fix * :zap: improvements * :zap: parameter name fix * :zap: download attachment for get all operation * :zap: filters update * :zap: hint update * :zap: Small improvements Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * :zap: Update URLs to n8n.io API (#3391) * fix(core): Fix migrations on non-public Postgres schema (#3356) * :bug: Fix UM migration * :zap: Account for schema in `search_path` * :fire: Remove unneeded schema refs * :test_tube: Account for alt schema in DB testing * :zap: Add schema to `IncreaseTypeVarcharLimit` * :zap: Set `search_path` in every migration * :zap: Set `search_path` in down migrations * refactor(core): Improve error message * feat(RabbitMQ Trigger Node): Make message acknowledgement and parallel processing configurable (#3385) * feat(RabbitMQ Trigger Node): Make message acknowledgement and concurrent processing configurable * :zap: Make sure that messages do not get executed multiple times * :shirt: Fix lint issue * :bug: Fix issue that for manual executions in "own" mode messages got know acknowledged * :zap: Increment count now that console.log got removed * :zap: Improvements * :zap: Fix default value * :zap: Improve display name * fix(Gmail Node): Fix sending attachments when filesystem mode is used (#3396) * fix(Google Sheet Node): Fix issue with null values and "Use Header Names as JSON Paths" option (#3395) * fixed Google Sheet 'Use Header Names as JSON Paths' issue when input data contains null values. https://community.n8n.io/t/error-cannot-read-properties-of-null-reading-tostring/14385/2 * :zap: Update URLs to n8n.io API (#3391) * fix(core): Fix migrations on non-public Postgres schema (#3356) * :bug: Fix UM migration * :zap: Account for schema in `search_path` * :fire: Remove unneeded schema refs * :test_tube: Account for alt schema in DB testing * :zap: Add schema to `IncreaseTypeVarcharLimit` * :zap: Set `search_path` in every migration * :zap: Set `search_path` in down migrations * refactor(core): Improve error message * feat(RabbitMQ Trigger Node): Make message acknowledgement and parallel processing configurable (#3385) * feat(RabbitMQ Trigger Node): Make message acknowledgement and concurrent processing configurable * :zap: Make sure that messages do not get executed multiple times * :shirt: Fix lint issue * :bug: Fix issue that for manual executions in "own" mode messages got know acknowledged * :zap: Increment count now that console.log got removed * :zap: Improvements * :zap: Fix default value * :zap: Improve display name * fix(Gmail Node): Fix sending attachments when filesystem mode is used (#3396) * :zap: Minor improvement Co-authored-by: Taha Sönmez <mtssonmez@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.101.0 * :arrow_up: Set n8n-workflow@0.101.0 on n8n-core * :bookmark: Release n8n-core@0.119.0 * :arrow_up: Set n8n-core@0.119.0 and n8n-workflow@0.101.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.58.0 * :arrow_up: Set n8n-core@0.119.0 and n8n-workflow@0.101.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.177.0 * :bookmark: Release n8n-design-system@0.22.0 * :arrow_up: Set n8n-design-system@0.22.0 and n8n-workflow@0.101.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.145.0 * :arrow_up: 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 * :bookmark: Release n8n@0.179.0 * :bookmark: Update main package.json to 0.179.0 * :books: Update CHANGELOG.md with version 0.179.0 * :zap: linter fixes * :zap: improvements * :zap: lock file fix * :zap: credentials update * feat(editor): Display node specific settings above general ones * fix(editor): Fix delete button hover spacing (#3412) * 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 * 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> * fix(editor): Fix stuck loading states (#3428) * feat(core): Add support for pairedItem (beta) (#3012) * :sparkles: Add pairedItem support * :shirt: Fix lint issue * :bug: Fix resolution in frontend * :bug: Fix resolution issue * :bug: Fix resolution in frontend * :bug: Fix another resolution issue in frontend * :zap: Try to automatically add pairedItem data if possible * :zap: Cleanup * :zap: Display expression errors in editor UI * :bug: Fix issue that it did not display errors in production * :bug: Fix auto-fix of missing pairedItem data * :bug: Fix frontend resolution for not executed nodes * :zap: Fail execution on pairedItem resolve issue and display information about itemIndex and runIndex * :zap: Allow that pairedItem is only set to number if runIndex is 0 * :sparkles: Improve Expression Errors * :zap: Remove no longer needed code * :zap: Make errors more helpful * :zap: Add additional errors * :shirt: Fix lint issue * :zap: Add pairedItem support to core nodes * :zap: Improve support in Merge-Node * :zap: Fix issue with not correctly converted incoming pairedItem data * :bug: Fix frontend resolve issue * :bug: Fix frontend parameter name display issue * :zap: Improve errors * :shirt: Fix lint issue * :zap: Improve errors * :zap: Make it possible to display parameter name in error messages * :zap: Improve error messages * :zap: Fix error message * :zap: Improve error messages * :zap: Add another error message * :zap: Simplify * refactor(core): Deduplicate encryption logic (#3434) * :zap: added function to credentials helper * Refactor function name * Fix lint issues Co-authored-by: Michael Kret <michael.k@radency.com> * test: Add timeout to `beforeAll` in users suite (#3433) * refactor(editor): Change node-setting's parameters order (#3435) * fix(core): Fix `user-management:reset` command (#3403) * :bug: Fix `email` setting * :test_tube: Add test * :test_tube: Add expectation for user email * :zap: Replace request with helper * refactor: Apply more `eslint-plugin-n8n-nodes-base` autofixable rules (#3432) * :zap: Update `lintfix` script * :shirt: Remove unneeded lint exceptions * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-description-miscased-url` (#3441) * :shirt: Apply `rule node-param-placeholder-miscased-id` (#3443) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-option-name-wrong-for-upsert` (#3446) * :shirt: Apply `node-param-min-value-wrong-for-limit` (#3442) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-wrong-for-dynamic-options` (#3454) * :hammer: fix * :zap: Fix `Assigned To` fields Co-authored-by: Michael Kret <michael.k@radency.com> * :shirt: Apply `rule node-param-default-wrong-for-number` (#3453) * :shirt: Apply `node-param-default-wrong-for-string` (#3452) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-miscased` (#3449) * :hammer: fix * :hammer: exceptions * :zap: review fixes * :shirt: Apply `node-param-description-lowercase-first-char` (#3451) * :zap: fix * :zap: review fixes * :zap: fix Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-description-wrong-for-dynamic-options` (#3456) * Rule working as intended * Add rule * :fire: Remove repetitions * :shirt: Add exceptions Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Small fix for `node-param-description-wrong-for-dynamic-options` * :shirt: Apply `node-param-default-wrong-for-fixed-collection` (#3460) * :shirt: Apply `node-param-description-line-break-html-tag` (#3462) * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-options-type-unsorted-items` (#3459) * :zap: fix * :hammer: exceptions * Add exception for Salesmate and Zoom Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :zap: Restore `lintfix` command Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> * fix(Hubspot Node): Fix loading of Contacts (#3426) * feat(QuickBooks Node): Add optional Tax item field (#3404) * Added tax refs * Nodelinter fixes * fix(EmailReadImap Node): Improve error handling (#3465) * refactor(core): Remove a floating promise * feat(Cal Trigger Node): Add cal.com Trigger Node (#3439) * options and operations added * IT WORKS! * Added ReturnALL to GET method * comit for PR * updating shared operations * :zap: linter fixes * :zap: improvements * :zap: lock file fix * :zap: credentials update * added cal trigger node * Removed console log * Added advanced fields * feat(core): Add support for pairedItem (beta) (#3012) * :sparkles: Add pairedItem support * :shirt: Fix lint issue * :bug: Fix resolution in frontend * :bug: Fix resolution issue * :bug: Fix resolution in frontend * :bug: Fix another resolution issue in frontend * :zap: Try to automatically add pairedItem data if possible * :zap: Cleanup * :zap: Display expression errors in editor UI * :bug: Fix issue that it did not display errors in production * :bug: Fix auto-fix of missing pairedItem data * :bug: Fix frontend resolution for not executed nodes * :zap: Fail execution on pairedItem resolve issue and display information about itemIndex and runIndex * :zap: Allow that pairedItem is only set to number if runIndex is 0 * :sparkles: Improve Expression Errors * :zap: Remove no longer needed code * :zap: Make errors more helpful * :zap: Add additional errors * :shirt: Fix lint issue * :zap: Add pairedItem support to core nodes * :zap: Improve support in Merge-Node * :zap: Fix issue with not correctly converted incoming pairedItem data * :bug: Fix frontend resolve issue * :bug: Fix frontend parameter name display issue * :zap: Improve errors * :shirt: Fix lint issue * :zap: Improve errors * :zap: Make it possible to display parameter name in error messages * :zap: Improve error messages * :zap: Fix error message * :zap: Improve error messages * :zap: Add another error message * :zap: Simplify * refactor(core): Deduplicate encryption logic (#3434) * :zap: added function to credentials helper * Refactor function name * Fix lint issues Co-authored-by: Michael Kret <michael.k@radency.com> * test: Add timeout to `beforeAll` in users suite (#3433) * refactor(editor): Change node-setting's parameters order (#3435) * fix(core): Fix `user-management:reset` command (#3403) * :bug: Fix `email` setting * :test_tube: Add test * :test_tube: Add expectation for user email * :zap: Replace request with helper * refactor: Apply more `eslint-plugin-n8n-nodes-base` autofixable rules (#3432) * :zap: Update `lintfix` script * :shirt: Remove unneeded lint exceptions * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-description-miscased-url` (#3441) * :shirt: Apply `rule node-param-placeholder-miscased-id` (#3443) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-option-name-wrong-for-upsert` (#3446) * :shirt: Apply `node-param-min-value-wrong-for-limit` (#3442) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-wrong-for-dynamic-options` (#3454) * :hammer: fix * :zap: Fix `Assigned To` fields Co-authored-by: Michael Kret <michael.k@radency.com> * :shirt: Apply `rule node-param-default-wrong-for-number` (#3453) * :shirt: Apply `node-param-default-wrong-for-string` (#3452) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * Apply `node-param-display-name-miscased` (#3449) * :hammer: fix * :hammer: exceptions * :zap: review fixes * :shirt: Apply `node-param-description-lowercase-first-char` (#3451) * :zap: fix * :zap: review fixes * :zap: fix Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Apply `node-param-description-wrong-for-dynamic-options` (#3456) * Rule working as intended * Add rule * :fire: Remove repetitions * :shirt: Add exceptions Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :shirt: Small fix for `node-param-description-wrong-for-dynamic-options` * :shirt: Apply `node-param-default-wrong-for-fixed-collection` (#3460) * :shirt: Apply `node-param-description-line-break-html-tag` (#3462) * :shirt: Run baseline `lintfix` * :shirt: Apply `node-param-options-type-unsorted-items` (#3459) * :zap: fix * :hammer: exceptions * Add exception for Salesmate and Zoom Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * :zap: Restore `lintfix` command Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> * fix(Hubspot Node): Fix loading of Contacts (#3426) * feat(QuickBooks Node): Add optional Tax item field (#3404) * Added tax refs * Nodelinter fixes * fix(EmailReadImap Node): Improve error handling (#3465) * refactor(core): Remove a floating promise * :zap: Improvements Co-authored-by: alex meredith <alexanderm@packt.com> Co-authored-by: ajmeredith1200 <100841449+ajmeredith1200@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * :zap: Improve cal.com Trigger Node * :shirt: Fix lint issue * :zap: Minor improvements Co-authored-by: alex meredith <alexanderm@packt.com> Co-authored-by: ajmeredith1200 <100841449+ajmeredith1200@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Milorad FIlipović <miloradfilipovic19@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Gonçalo Silva <goncalossilva@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: pemontto <939704+pemontto@users.noreply.github.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Taha Sönmez <35905778+tahasonmez@users.noreply.github.com> Co-authored-by: Taha Sönmez <mtssonmez@gmail.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Luca Berneking <l.berneking@mittwald.de> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com> Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
2022-06-05 11:31:29 -07:00
name: `${r.displayName} (${r.location}) - ${r.name}`,
value: r.name,
})),
2019-10-04 13:01:25 -07:00
default: 'us-east-1',
},
{
displayName: 'Access Key ID',
2019-10-04 13:01:25 -07:00
name: 'accessKeyId',
type: 'string',
2019-10-04 13:01:25 -07:00
default: '',
},
{
displayName: 'Secret Access Key',
name: 'secretAccessKey',
type: 'string',
2019-10-04 13:01:25 -07:00
default: '',
typeOptions: {
password: true,
},
},
{
displayName: 'Temporary Security Credentials',
name: 'temporaryCredentials',
description: 'Support for temporary credentials from AWS STS',
type: 'boolean',
default: false,
},
{
displayName: 'Session Token',
name: 'sessionToken',
type: 'string',
displayOptions: {
show: {
temporaryCredentials: [true],
},
},
default: '',
typeOptions: {
password: true,
},
},
{
displayName: 'Custom Endpoints',
name: 'customEndpoints',
type: 'boolean',
default: false,
},
{
displayName: 'Rekognition Endpoint',
name: 'rekognitionEndpoint',
description:
'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and Rekognition using a VPC endpoint. Leave blank to use the default endpoint.',
type: 'string',
displayOptions: {
show: {
customEndpoints: [true],
},
},
default: '',
placeholder: 'https://rekognition.{region}.amazonaws.com',
},
{
displayName: 'Lambda Endpoint',
name: 'lambdaEndpoint',
description:
'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and Lambda using a VPC endpoint. Leave blank to use the default endpoint.',
type: 'string',
displayOptions: {
show: {
customEndpoints: [true],
},
},
default: '',
placeholder: 'https://lambda.{region}.amazonaws.com',
},
{
displayName: 'SNS Endpoint',
name: 'snsEndpoint',
description:
'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and SNS using a VPC endpoint. Leave blank to use the default endpoint.',
type: 'string',
displayOptions: {
show: {
customEndpoints: [true],
},
},
default: '',
placeholder: 'https://sns.{region}.amazonaws.com',
},
{
displayName: 'SES Endpoint',
name: 'sesEndpoint',
description:
'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and SES using a VPC endpoint. Leave blank to use the default endpoint.',
type: 'string',
displayOptions: {
show: {
customEndpoints: [true],
},
},
default: '',
placeholder: 'https://email.{region}.amazonaws.com',
},
{
displayName: 'SQS Endpoint',
name: 'sqsEndpoint',
description:
'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and SQS using a VPC endpoint. Leave blank to use the default endpoint.',
type: 'string',
displayOptions: {
show: {
customEndpoints: [true],
},
},
default: '',
placeholder: 'https://sqs.{region}.amazonaws.com',
},
{
displayName: 'S3 Endpoint',
name: 's3Endpoint',
description:
'If you use Amazon VPC to host n8n, you can establish a connection between your VPC and S3 using a VPC endpoint. Leave blank to use the default endpoint.',
type: 'string',
displayOptions: {
show: {
customEndpoints: [true],
},
},
default: '',
placeholder: 'https://s3.{region}.amazonaws.com',
},
2019-10-04 13:01:25 -07:00
];
async authenticate(
rawCredentials: ICredentialDataDecryptedObject,
requestOptions: IHttpRequestOptions,
): Promise<IHttpRequestOptions> {
const credentials = rawCredentials as AwsCredentialsType;
let endpoint: URL;
let service = requestOptions.qs?.service as string;
let path = (requestOptions.qs?.path as string) ?? '';
const method = requestOptions.method;
let body = requestOptions.body;
let region = credentials.region;
if (requestOptions.qs?._region) {
region = requestOptions.qs._region as AWSRegion;
delete requestOptions.qs._region;
}
let query = requestOptions.qs?.query as IDataObject;
// ! Workaround as we still use the IRequestOptions interface which uses uri instead of url
// ! To change when we replace the interface with IHttpRequestOptions
const requestWithUri = requestOptions as unknown as IRequestOptions;
if (requestWithUri.uri) {
requestOptions.url = requestWithUri.uri;
endpoint = new URL(requestOptions.url);
if (service === 'sts') {
try {
if (requestWithUri.qs?.Action !== 'GetCallerIdentity') {
query = requestWithUri.qs as IDataObject;
} else {
endpoint.searchParams.set('Action', 'GetCallerIdentity');
endpoint.searchParams.set('Version', '2011-06-15');
}
} catch (err) {
console.log(err);
}
}
const parsed = parseAwsUrl(endpoint);
service = parsed.service;
if (parsed.region) {
region = parsed.region;
}
} else {
if (!requestOptions.baseURL && !requestOptions.url) {
let endpointString: string;
if (service === 'lambda' && credentials.lambdaEndpoint) {
endpointString = credentials.lambdaEndpoint;
} else if (service === 'sns' && credentials.snsEndpoint) {
endpointString = credentials.snsEndpoint;
} else if (service === 'sqs' && credentials.sqsEndpoint) {
endpointString = credentials.sqsEndpoint;
} else if (service === 's3' && credentials.s3Endpoint) {
endpointString = credentials.s3Endpoint;
} else if (service === 'ses' && credentials.sesEndpoint) {
endpointString = credentials.sesEndpoint;
} else if (service === 'rekognition' && credentials.rekognitionEndpoint) {
endpointString = credentials.rekognitionEndpoint;
} else if (service === 'sqs' && credentials.sqsEndpoint) {
endpointString = credentials.sqsEndpoint;
} else if (service) {
endpointString = `https://${service}.${region}.amazonaws.com`;
}
endpoint = new URL(endpointString!.replace('{region}', region) + path);
} else {
// If no endpoint is set, we try to decompose the path and use the default endpoint
const customUrl = new URL(`${requestOptions.baseURL!}${requestOptions.url}${path}`);
const parsed = parseAwsUrl(customUrl);
service = parsed.service;
if (parsed.region) {
region = parsed.region;
}
if (service === 'sts') {
try {
customUrl.searchParams.set('Action', 'GetCallerIdentity');
customUrl.searchParams.set('Version', '2011-06-15');
} catch (err) {
console.log(err);
}
}
endpoint = customUrl;
}
}
if (query && Object.keys(query).length !== 0) {
Object.keys(query).forEach((key) => {
endpoint.searchParams.append(key, query[key] as string);
});
}
if (body && typeof body === 'object' && isObjectEmpty(body)) {
body = '';
}
path = endpoint.pathname + endpoint.search;
const signOpts = {
...requestOptions,
headers: requestOptions.headers ?? {},
host: endpoint.host,
method,
path,
body: body !== '' ? body : undefined,
region,
} as Request;
const securityHeaders = {
accessKeyId: `${credentials.accessKeyId}`.trim(),
secretAccessKey: `${credentials.secretAccessKey}`.trim(),
sessionToken: credentials.temporaryCredentials
? `${credentials.sessionToken}`.trim()
: undefined,
};
try {
sign(signOpts, securityHeaders);
} catch (err) {
console.log(err);
}
const options: IHttpRequestOptions = {
...requestOptions,
headers: signOpts.headers,
method,
url: endpoint.origin + path,
body: signOpts.body,
qs: undefined, // override since it's already in the url
};
return options;
}
test: ICredentialTestRequest = {
request: {
baseURL: '=https://sts.{{$credentials.region}}.amazonaws.com',
url: '?Action=GetCallerIdentity&Version=2011-06-15',
method: 'POST',
},
};
}