n8n/packages/nodes-base/nodes/MongoDb/mongo.node.utils.ts

138 lines
4 KiB
TypeScript
Raw Normal View History

:sparkles: Improve node error handling (#1309) * Add path mapping and response error interfaces * Add error handling and throwing functionality * Refactor error handling into a single function * Re-implement error handling in Hacker News node * Fix linting details * Re-implement error handling in Spotify node * Re-implement error handling in G Suite Admin node * :construction: create basic setup NodeError * :construction: add httpCodes * :construction: add path priolist * :construction: handle statusCode in error, adjust interfaces * :construction: fixing type issues w/Ivan * :construction: add error exploration * 👔 fix linter issues * :wrench: improve object check * :construction: remove path passing from NodeApiError * :construction: add multi error + refactor findProperty method * 👔 allow any * :wrench: handle multi error message callback * :zap: change return type of callback * :zap: add customCallback to MultiError * :construction: refactor to use INode * :hammer: handle arrays, continue search after first null property found * 🚫 refactor method access * :construction: setup NodeErrorView * :zap: change timestamp to Date.now * :books: Add documentation for methods and constants * :construction: change message setting * 🚚 move NodeErrors to workflow * :sparkles: add new ErrorView for Nodes * :art: improve error notification * :art: refactor interfaces * :zap: add WorkflowOperationError, refactor error throwing * 👕 fix linter issues * :art: rename param * :bug: fix handling normal errors * :zap: add usage of NodeApiError * :art: fix throw new error instead of constructor * :art: remove unnecessary code/comments * :art: adjusted spacing + updated status messages * :art: fix tab indentation * ✨ Replace current errors with custom errors (#1576) * :zap: Introduce NodeApiError in catch blocks * :zap: Introduce NodeOperationError in nodes * :zap: Add missing errors and remove incompatible * :zap: Fix NodeOperationError in incompatible nodes * :wrench: Adjust error handling in missed nodes PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes * :hammer: Adjust Strava Trigger node error handling * :hammer: Adjust AWS nodes error handling * :hammer: Remove duplicate instantiation of NodeApiError * :bug: fix strava trigger node error handling * Add XML parsing to NodeApiError constructor (#1633) * :bug: Remove type annotation from catch variable * :sparkles: Add XML parsing to NodeApiError * :zap: Simplify error handling in Rekognition node * :zap: Pass in XML flag in generic functions * :fire: Remove try/catch wrappers at call sites * :hammer: Refactor setting description from XML * :hammer: Refactor let to const in resource loaders * :zap: Find property in parsed XML * :zap: Change let to const * :fire: Remove unneeded try/catch block * :shirt: Fix linting issues * :bug: Fix errors from merge conflict resolution * :zap: Add custom errors to latest contributions * :shirt: Fix linting issues * :zap: Refactor MongoDB helpers for custom errors * :bug: Correct custom error type * :zap: Apply feedback to A nodes * :zap: Apply feedback to missed A node * :zap: Apply feedback to B-D nodes * :zap: Apply feedback to E-F nodes * :zap: Apply feedback to G nodes * :zap: Apply feedback to H-L nodes * :zap: Apply feedback to M nodes * :zap: Apply feedback to P nodes * :zap: Apply feedback to R nodes * :zap: Apply feedback to S nodes * :zap: Apply feedback to T nodes * :zap: Apply feedback to V-Z nodes * :zap: Add HTTP code to iterable node error * :hammer: Standardize e as error * :hammer: Standardize err as error * :zap: Fix error handling for non-standard nodes Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 09:33:36 -07:00
import { IExecuteFunctions } from 'n8n-core';
import {
ICredentialDataDecryptedObject,
IDataObject,
INodeExecutionData,
:sparkles: Improve node error handling (#1309) * Add path mapping and response error interfaces * Add error handling and throwing functionality * Refactor error handling into a single function * Re-implement error handling in Hacker News node * Fix linting details * Re-implement error handling in Spotify node * Re-implement error handling in G Suite Admin node * :construction: create basic setup NodeError * :construction: add httpCodes * :construction: add path priolist * :construction: handle statusCode in error, adjust interfaces * :construction: fixing type issues w/Ivan * :construction: add error exploration * 👔 fix linter issues * :wrench: improve object check * :construction: remove path passing from NodeApiError * :construction: add multi error + refactor findProperty method * 👔 allow any * :wrench: handle multi error message callback * :zap: change return type of callback * :zap: add customCallback to MultiError * :construction: refactor to use INode * :hammer: handle arrays, continue search after first null property found * 🚫 refactor method access * :construction: setup NodeErrorView * :zap: change timestamp to Date.now * :books: Add documentation for methods and constants * :construction: change message setting * 🚚 move NodeErrors to workflow * :sparkles: add new ErrorView for Nodes * :art: improve error notification * :art: refactor interfaces * :zap: add WorkflowOperationError, refactor error throwing * 👕 fix linter issues * :art: rename param * :bug: fix handling normal errors * :zap: add usage of NodeApiError * :art: fix throw new error instead of constructor * :art: remove unnecessary code/comments * :art: adjusted spacing + updated status messages * :art: fix tab indentation * ✨ Replace current errors with custom errors (#1576) * :zap: Introduce NodeApiError in catch blocks * :zap: Introduce NodeOperationError in nodes * :zap: Add missing errors and remove incompatible * :zap: Fix NodeOperationError in incompatible nodes * :wrench: Adjust error handling in missed nodes PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes * :hammer: Adjust Strava Trigger node error handling * :hammer: Adjust AWS nodes error handling * :hammer: Remove duplicate instantiation of NodeApiError * :bug: fix strava trigger node error handling * Add XML parsing to NodeApiError constructor (#1633) * :bug: Remove type annotation from catch variable * :sparkles: Add XML parsing to NodeApiError * :zap: Simplify error handling in Rekognition node * :zap: Pass in XML flag in generic functions * :fire: Remove try/catch wrappers at call sites * :hammer: Refactor setting description from XML * :hammer: Refactor let to const in resource loaders * :zap: Find property in parsed XML * :zap: Change let to const * :fire: Remove unneeded try/catch block * :shirt: Fix linting issues * :bug: Fix errors from merge conflict resolution * :zap: Add custom errors to latest contributions * :shirt: Fix linting issues * :zap: Refactor MongoDB helpers for custom errors * :bug: Correct custom error type * :zap: Apply feedback to A nodes * :zap: Apply feedback to missed A node * :zap: Apply feedback to B-D nodes * :zap: Apply feedback to E-F nodes * :zap: Apply feedback to G nodes * :zap: Apply feedback to H-L nodes * :zap: Apply feedback to M nodes * :zap: Apply feedback to P nodes * :zap: Apply feedback to R nodes * :zap: Apply feedback to S nodes * :zap: Apply feedback to T nodes * :zap: Apply feedback to V-Z nodes * :zap: Add HTTP code to iterable node error * :hammer: Standardize e as error * :hammer: Standardize err as error * :zap: Fix error handling for non-standard nodes Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 09:33:36 -07:00
NodeOperationError,
} from 'n8n-workflow';
import {
IMongoCredentials,
IMongoCredentialsType,
IMongoParametricCredentials,
} from './mongo.node.types';
feat(MongoDB Node): Allow parsing dates using dot notation (#2487) * Parse Dates using Dot Notation * :zap: fixed types issues that prevent brunch from building, fixed nodelinter issues * :hammer: hint for date fields * :hammer: fixed bug with only one field converted to date * :hammer: added toggle for access date fields with dot notation * :zap: Add Odoo and RedisTrigger node codex (#3005) * .168.2fixed: Auto stash before rebase of "refs/heads/codex/0.168.2fixed" Odoo and Redis Trigger codex files update * Update RedisTrigger.node.json Co-authored-by: Niv <nivbelleli@gmail.com> * :zap: Add KoBoToolbox and Linear codex files (#3040) KoBoToolbox KoBoToolbox Trigger Linear Co-authored-by: Niv <nivbelleli@gmail.com> * :books: Add missing full stop to license text * (fix): Added missing full stop to license GitHub does not render the single line breaks in the *Limitations* section. The added full stop makes it easier to read our license. * :books: Add also to other files Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * fix(AWS Lambda Node): Fix "Invocation Type" > "Continue Workflow" (#3010) * :hammer: fix for running in continue workflow * :zap: Minor simplification Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :books: Add one more missing full stop to license text * fix(core): Add logs and error catches for possible failures in queue mode (#3032) * fix(Supabase Node): Fix Row > Get operation (#3045) * fix(Supabase Node): Send token also via Authorization Bearer (#2814) Send Authorization Bearer in headers Fix typo in validateCredentials function * fix(Wise Node): Fix issue when executing a transfer (#3039) * :zap: Fix credentials import success message (#3038) * :books: Add missing full stop to license text (#3028) Adding "." L15. In addition, the markdown display don't show line break as in the editor. * :books: Add note to changelog linking to historic log (#3031) * feat(HTTP Request Node): Add support for OPTIONS method (#3030) * fix(Xero Node): Fix some operations and add support for setting address and phone number (#3048) * :bug: Fix issue when sending Organization ID - Xero node * :shirt: Fix linting issue * feat(Crypto Node): Add Generate operation to generate random values (#2541) * ✨ Add generate action to crypto node * :zap: small fixes, nodelinter issues fixes * :zap: Improvements * :zap: Fix order Co-authored-by: michael-radency <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * feat(Reddit Node): Add possibility to query saved posts (#3034) * chore: add nvmrc with required node version * feat: added saved posts to reddit node with credentials on User resource * Changed Details order * Fixed lint issue * Moved saved posts to profile as it only works for the logged in user, This avoids the breaking change * Removed .nvmrc * :zap: Improvements Co-authored-by: Yassine Fathi <hi@m4tt72.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Jira Node): Add Simplify Output option to Issue > Get (#2408) * ✨ Add option to use Jira field display names * 🚸 Make mapped fields more deterministic * ♻️ Refactor Jira user loadOptions * Moved and renamed the option as well as only returning the fields to * Tweaked Friendly Fields to make it "Simplify Output" following similar patterns to other nodes * :zap: Improvements Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Zendesk Node): Add ticket status "On-hold" * :bookmark: Release n8n-workflow@0.93.0 * :arrow_up: Set n8n-workflow@0.93.0 on n8n-core * :bookmark: Release n8n-core@0.111.0 * :arrow_up: Set n8n-core@0.111.0 and n8n-workflow@0.93.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.50.0 * :arrow_up: Set n8n-core@0.111.0 and n8n-workflow@0.93.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.168.0 * :bookmark: Release n8n-design-system@0.16.0 * :arrow_up: Set n8n-design-system@0.16.0 and n8n-workflow@0.93.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.137.0 * :arrow_up: Set n8n-core@0.111.0, n8n-editor-ui@0.137.0, n8n-nodes-base@0.168.0 and n8n-workflow@0.93.0 on n8n * :bookmark: Release n8n@0.170.0 * :arrow_up: Update package-lock.json file * :books: Update CHANGELOG.md with version 0.170.0 * feat(editor): Add download button for binary data (#2992) * :sparkles: Make it possible to download binary data * :zap: Fix lint issues and add support for filesystem mode * :zap: Design adjustment * :zap: Updated wording for Number operations on IF-Node (#3065) * fix(Google Tasks Node): Fix "Show Completed" option and hide title field where not needed (#2741) * 🐛 Google Tasks: Fix showCompleted * :zap: Improvements Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mocean Node): Add "Delivery Report URL" option and credential tests (#3075) * add dlr url column add dlr url(delivery report URl) column. Allow user set the endpoint to receive the report * update update delivery report url description * :zap: fixed nodelinter issues, added credential test, replaced icon * :zap: Improvements Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> * feat(Emelia Node): Add Campaign > Duplicate functionality (#3000) * feat(Emelia Node): Add campaign duplication feature * :zap: small ui fixes, added credential test, fixed nodelinter issues * :zap: Improvements * :zap: Updated wording for Number operations on IF-Node (#3065) * fix(Google Tasks Node): Fix "Show Completed" option and hide title field where not needed (#2741) * 🐛 Google Tasks: Fix showCompleted * :zap: Improvements Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mocean Node): Add "Delivery Report URL" option and credential tests (#3075) * add dlr url column add dlr url(delivery report URl) column. Allow user set the endpoint to receive the report * update update delivery report url description * :zap: fixed nodelinter issues, added credential test, replaced icon * :zap: Improvements Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> * :zap: Normalize name Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: Tom <19203795+that-one-tom@users.noreply.github.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * fix(GraphQL Node)!: Correctly report errors returned by the API (#3071) * upstream merge * :zap: graphql node will throw error when response has errors property * :hammer: updated changelog * :zap: Improvements * :zap: Improvements * :zap: Add package-lock.json back Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(FTP Node): Add option to recursively create directories on rename (#3001) * Recursively Make Directories on SFTP Rename * Linting * :zap: Improvement * :zap: Rename "Move" to "Create Directories" * Change "Create Directories" description Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Microsoft Teams Node): Add chat message support (#2635) * ✨ Add chat messages to MS Teams node * Updated credentials to include missing scope * :zap: Small improvements Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mautic Node): Add credential test and allow trailing slash in host (#3080) * Updated Mautic to stop trailing slashes from causing an issue * Fixed oauth failing when there is a trailing slash in the mautic host * Added credential test * test: Fix randomly failing UM tests (#3061) * :zap: Declutter test logs * :bug: Fix random passwords length * :bug: Fix password hashing in test user creation * :bug: Hash leftover password * :zap: Improve error message for `compare` * :zap: Restore `randomInvalidPassword` contant * :zap: Mock Telemetry module to prevent `--forceExit` * :zap: Silence logger * :zap: Simplify condition * :zap: Unhash password in payload * fix(NocoDB Node): Fix pagination (#3081) * feat(Strava Node): Add "Get Streams" operation (#2582) * Strava node: adding getStreams operation * Changed the keys to use multiOptions Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * fix(core): Fix crash on webhook when last node did not return data * fix(Salesforce Node): Fix issue that "status" did not get used for Case => Create & Update (#2212) * bugfix for salesforce case create and update case not picking status * :bug: Fix issue with package-lock.json Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(ServiceNow Node): Add basicAuth support and fix getColumns loadOptions (#2712) * ✨ Support basic auth for ServiceNow * 🐛 Support ServiceNow sysparm_fields as string * :zap: credential test for basic auth * fix(Google Tasks Node): Fix "Show Completed" option and hide title field where not needed (#2741) * 🐛 Google Tasks: Fix showCompleted * :zap: Improvements Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mocean Node): Add "Delivery Report URL" option and credential tests (#3075) * add dlr url column add dlr url(delivery report URl) column. Allow user set the endpoint to receive the report * update update delivery report url description * :zap: fixed nodelinter issues, added credential test, replaced icon * :zap: Improvements Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> * feat(Emelia Node): Add Campaign > Duplicate functionality (#3000) * feat(Emelia Node): Add campaign duplication feature * :zap: small ui fixes, added credential test, fixed nodelinter issues * :zap: Improvements * :zap: Updated wording for Number operations on IF-Node (#3065) * fix(Google Tasks Node): Fix "Show Completed" option and hide title field where not needed (#2741) * 🐛 Google Tasks: Fix showCompleted * :zap: Improvements Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mocean Node): Add "Delivery Report URL" option and credential tests (#3075) * add dlr url column add dlr url(delivery report URl) column. Allow user set the endpoint to receive the report * update update delivery report url description * :zap: fixed nodelinter issues, added credential test, replaced icon * :zap: Improvements Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> * :zap: Normalize name Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: Tom <19203795+that-one-tom@users.noreply.github.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :zap: fix nodelinter issues, added hint to field option * fix(GraphQL Node)!: Correctly report errors returned by the API (#3071) * upstream merge * :zap: graphql node will throw error when response has errors property * :hammer: updated changelog * :zap: Improvements * :zap: Improvements * :zap: Add package-lock.json back Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(FTP Node): Add option to recursively create directories on rename (#3001) * Recursively Make Directories on SFTP Rename * Linting * :zap: Improvement * :zap: Rename "Move" to "Create Directories" * Change "Create Directories" description Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Microsoft Teams Node): Add chat message support (#2635) * ✨ Add chat messages to MS Teams node * Updated credentials to include missing scope * :zap: Small improvements Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mautic Node): Add credential test and allow trailing slash in host (#3080) * Updated Mautic to stop trailing slashes from causing an issue * Fixed oauth failing when there is a trailing slash in the mautic host * Added credential test * test: Fix randomly failing UM tests (#3061) * :zap: Declutter test logs * :bug: Fix random passwords length * :bug: Fix password hashing in test user creation * :bug: Hash leftover password * :zap: Improve error message for `compare` * :zap: Restore `randomInvalidPassword` contant * :zap: Mock Telemetry module to prevent `--forceExit` * :zap: Silence logger * :zap: Simplify condition * :zap: Unhash password in payload * fix(NocoDB Node): Fix pagination (#3081) * feat(Strava Node): Add "Get Streams" operation (#2582) * Strava node: adding getStreams operation * Changed the keys to use multiOptions Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * :zap: Improvements * fix(core): Fix crash on webhook when last node did not return data * fix(Salesforce Node): Fix issue that "status" did not get used for Case => Create & Update (#2212) * bugfix for salesforce case create and update case not picking status * :bug: Fix issue with package-lock.json Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * :bug: Fix issue with credentials * :zap: Fix basicAuth * :zap: Reset default Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Tom <19203795+that-one-tom@users.noreply.github.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Charles Lecalier <charles.lecalier@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Rhys Williams <me@rhyswilliams.co.za> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Luis Cipriani <37157+lfcipriani@users.noreply.github.com> Co-authored-by: Ketan Somvanshi <ketan.somvanshi@plivo.com> * fix(EmailReadImap Node): Fix issue that crashed process if node was configured wrong (#3079) * :bug: Fix issue that IMAP node can crash n8n * :shirt: Fix lint issue * :arrow_up: Set simple-git@3.5.0 on n8n-nodes-base The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-SIMPLEGIT-2434306 * :shirt: Fix lint issue * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.94.0 * :arrow_up: Set n8n-workflow@0.94.0 on n8n-core * :bookmark: Release n8n-core@0.112.0 * :arrow_up: Set n8n-core@0.112.0 and n8n-workflow@0.94.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.51.0 * :arrow_up: Set n8n-core@0.112.0 and n8n-workflow@0.94.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.169.0 * :arrow_up: Set n8n-workflow@0.94.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.138.0 * :arrow_up: Set n8n-core@0.112.0, n8n-editor-ui@0.138.0, n8n-nodes-base@0.169.0 and n8n-workflow@0.94.0 on n8n * :bookmark: Release n8n@0.171.0 * :books: Update CHANGELOG.md with version 0.171.0 * fix(core): Fix issue with current executions not getting displayed (#3093) * fix(core): Fix issue with falsely skip authorizing (#3087) * fix(WooCommerce Node): Fix pagination issue with "Get All" operation (#2529) * zap(core): Fix issues with n8n version updates that skip multiple versions (#3099) * :bookmark: Release n8n-nodes-base@0.169.1 * :arrow_up: Set n8n-nodes-base@0.169.1 on n8n * :bookmark: Release n8n@0.171.1 * fix(Action Network Node): Fix pagination issue and add credential test (#3011) * fix(Action Network Node): Pagination * Fixed lint issue * Added credential test * :zap: Move credentials verification and injection to the credentials file Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(PayPal Node): Add auth test, fix typo and update API URL (#3084) * Implements PayPal Auth API Test * Deletes unit tests * :rotating_light: Fixed lint issues * Added changes from PR#2568 * Moved methods to above execute Co-authored-by: paolo-rechia <paolo@e-bot7.com> * feat(Magento 2 Node): Add credential tests (#3086) * Implements Magento Auth API Test * Deletes unit tests * Fixed lint issues and changed the URI for the credential test * :zap: Move credential verification to the credential file * :zap: Simplify code Co-authored-by: paolo-rechia <paolo@e-bot7.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :fire: Clear legacy tslint config files (#3103) * :rotating_light: Optimize UM tests (#3066) * :zap: Declutter test logs * :bug: Fix random passwords length * :bug: Fix password hashing in test user creation * :bug: Hash leftover password * :zap: Improve error message for `compare` * :zap: Restore `randomInvalidPassword` contant * :zap: Mock Telemetry module to prevent `--forceExit` * :fire: Remove unused imports * :fire: Remove unused import * :zap: Add util for configuring test SMTP * :zap: Isolate user creation * :fire: De-duplicate `createFullUser` * :zap: Centralize hashing * :fire: Remove superfluous arg * :fire: Remove outdated comment * :zap: Prioritize shared tables during trucation * :test_tube: Add login tests * :zap: Use token helper * :pencil2: Improve naming * :zap: Make `createMemberShell` consistent * :fire: Remove unneeded helper * :fire: De-duplicate `beforeEach` * :pencil2: Improve naming * :truck: Move `categorize` to utils * :pencil2: Update comment * :test_tube: Simplify test * :blue_book: Improve `User.password` type * :zap: Silence logger * :zap: Simplify condition * :zap: Unhash password in payload * :bug: Fix comparison against unhashed password * :zap: Increase timeout for fake SMTP service * :fire: Remove unneeded import * :zap: Use `isNull()` * :test_tube: Use `Promise.all()` in creds tests * :test_tube: Use `Promise.all()` in me tests * :test_tube: Use `Promise.all()` in owner tests * :test_tube: Use `Promise.all()` in password tests * :test_tube: Use `Promise.all()` in users tests * :zap: Re-set cookie if UM disabled * :fire: Remove repeated line * :zap: Refactor out shared owner data * :fire: Remove unneeded import * :fire: Remove repeated lines * :zap: Organize imports * :zap: Reuse helper * :truck: Rename tests to match routers * :truck: Rename `createFullUser()` to `createUser()` * :zap: Consolidate user shell creation * :zap: Make hashing async * :zap: Add email to user shell * :zap: Optimize array building * 🛠 refactor user shell factory * :bug: Fix MySQL tests * :zap: Silence logger in other DBs Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> * :test_tube: Add Node 14 tests to CI (#2779) Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> * :hammer: Infer typings for config schema (#2656) * :truck: Move schema to standalone file * :zap: Add assertions to string literal arrays * :sparkles: Infer typings for convict schema * :fire: Remove unneeded assertions * :hammer: Fix errors surfaced by typings * :zap: Type nodes.include/exclude per docs * :zap: Account for types for exception paths * :zap: Set method alias to flag incorrect paths * :zap: Replace original with alias * :zap: Make allowance for nodes.include * :zap: Adjust leftover calls * :twisted_rightwards_arrows: Fix conflicts * :fire: Remove unneeded castings * :blue_book: Simplify exception path type * :package: Update package-lock.json * :fire: Remove unneeded imports * :fire: Remove unrelated file * :zap: Update schema * :zap: Update interface * :package: Update package-lock.json * :package: Update package-lock.json * :fire: Remove leftover assertions Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :zap: Enable `esModuleInterop` compiler option and upgrade to TypeScript 4.6 (#3106) * :zap: Enable `esModuleInterop` for /core * :zap: Adjust imports in /core * :zap: Enable `esModuleInterop` for /cli * :zap: Adjust imports in /cli * :zap: Enable `esModuleInterop` for /nodes-base * :zap: Adjust imports in /nodes-base * :zap: Make imports consistent * ⬆️ Upgrade TypeScript to 4.6 (#3109) * :arrow_up: Upgrade TypeScript to 4.6 * :package: Update package-lock.json * :wrench: Avoid erroring on untyped errors * :blue_book: Fix type error Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * fix(core): Set correct timezone in luxon (#3115) * :arrow_up: Set moment@2.29.2 on n8n-nodes-base * fix(editor): Fix i18n issues (#3072) * :bug: Fix `defaultLocale` watcher * :zap: Improve error handling for headers * :pencil2: Improve naming * :bug: Fix hiring banner check * :zap: Flatten base text keys * :zap: Fix miscorrected key * :zap: Implement pluralization * :pencil2: Update docs * :truck: Move headers fetching to `App.vue` * fix hiring banner * :zap: Fix missing import * :pencil2: Alphabetize translations * :zap: Switch to async check * feat(editor): Refactor Output Panel + fix i18n issues (#3097) * update main panel * finish up tabs * fix docs link * add icon * update node settings * clean up settings * add rename modal * fix component styles * fix spacing * truncate name * remove mixin * fix spacing * fix spacing * hide docs url * fix bug * fix renaming * refactor tabs out * refactor execute button * refactor header * add more views * fix error view * fix workflow rename bug * rename component * fix small screen bug * move items, fix positions * add hover state * show selector on empty state * add empty run state * fix binary view * 1 item * add vjs styles * show empty row for every item * refactor tabs * add branch names * fix spacing * fix up spacing * add run selector * fix positioning * clean up * increase width of selector * fix up spacing * fix copy button * fix branch naming; type issues * fix docs in custom nodes * add type * hide items when run selector is shown * increase selector size * add select prepend * clean up a bit * Add pagination * add stale icon * enable stale data in execution run * Revert "enable stale data in execution run" 8edb68dbffa0aa0d8189117e1a53381cb2c27608 * move metadata to its own state * fix smaller size * add scroll buttons * update tabs on resize * update stale data on rename * remove metadata on delete * hide x * change title colors * binary data classes * remove duplicate css * add colors * delete unused keys * use event bus * update styles of pagination * fix ts issues * fix ts issues * use chevron icons * fix design with download button * add back to canvas button * add trigger warning disabled * show trigger warning tooltip * update button labels for triggers * update node output message * fix add-option bug * add page selector * fix pagination selector bug * fix executions bug * remove hint * add json colors * add colors for json * add color json keys * fix select options bug * update keys * address comments * update name limit * align pencil * update icon size * update radio buttons height * address comments * fix pencil bug * change buttons alignment * fully center * change order of buttons * add no output message in branch * scroll to top * change active state * fix page size * all items * update expression background * update naming * align pencil * update modal background * add schedule group * update schedule nodes messages * use ellpises for last chars * fix spacing * fix tabs issue * fix too far data bug * fix executions bug * fix table wrapping * fix rename bug * add padding * handle unkown errors * add sticky header * ignore empty input, trim node name * nudge lightness of color * center buttons * update pagination * set colors of title * increase table font, fix alignment * fix pencil bug * fix spacing * use date now * address pagination issues * delete unused keys * update keys sort * fix prepend * fix radio button position * Revert "fix radio button position" ae42781786f2e6dcfb00d1be770b19a67f533bdf Co-authored-by: Mutasem <mutdmour@gmail.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.95.0 * :arrow_up: Set n8n-workflow@0.95.0 on n8n-core * :bookmark: Release n8n-core@0.113.0 * :arrow_up: Set n8n-core@0.113.0 and n8n-workflow@0.95.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.52.0 * :arrow_up: Set n8n-core@0.113.0 and n8n-workflow@0.95.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.170.0 * :bookmark: Release n8n-design-system@0.17.0 * :arrow_up: Set n8n-design-system@0.17.0 and n8n-workflow@0.95.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.139.0 * :arrow_up: Set n8n-core@0.113.0, n8n-editor-ui@0.139.0, n8n-nodes-base@0.170.0 and n8n-workflow@0.95.0 on n8n * :bookmark: Release n8n@0.172.0 * :books: Update CHANGELOG.md with version 0.171.1 and 0.172.0 * :zap: Fix n8n-node-dev publish issue * :zap: Fix credential formatting issues (#3134) * :shirt: Autofix creds lint issues * :shirt: Manually fix creds lint issues * :shirt: Fix indentation * :pencil2: Fix typo * :shirt: Fix indentation * :pencil2: Fix typo * :zap: Add executeWorkflow input-output notice. (#3095) * :zap: Remove non-null assertions for `Db` collections (#3111) * :blue_book: Remove unions to `null` * :zap: Track `Db` initialization state * :fire: Remove non-null assertions * :shirt: Remove lint exceptions * :fire: Remove leftover assertion * feat(Google Cloud Realtime Database Node): Make it possible to select region (#3096) * upstream merge * :hammer: fixed bug, replaced icon with svg, added ability to get whole db object * :hammer: optimization * :hammer: option for region in credentials * :bug: Fix region default * :zap: Remove dot Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * fix(ui): Reset text-edit input value when pressing esc key to have matching input values (#3098) * :zap: Make event on Eventbrite Trigger Node optional (#2829) * Set `event` property as optional * Add some parameter descriptions To please nodelinter, mostly. * Fix UI complaining about missing parameter. * :rotating_light: Fixed lint isssues * :zap: Improvements Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * fix(Zoho Node): Fix pagination issue (#3129) * fix(editor): Fix breaking Drop-downs after removing expressions (#3094) * :bug: Fixed multiOption parameter input dropdown values after removing expression. * :recycle: Moved array value normalization to removeExpression action. * :bug: Handled scenario where expression contained invalid value. * :art: Centralize error throwing for encryption keys and credentials (#3105) * Centralized error throwing for encryption key * Unifying the error message used by cli and core packages * Improvements to error messages to make it more DRY * Removed unnecessary throw * Throwing error when credential does not exist to simplify node behavior (#3112) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * fix(core): Make email for UM case insensitive (#3078) * 🚧 lowercasing email * ✅ add tests for case insensitive email * 🐘 add migration to lowercase email * 🚚 rename migration * 🐛 fix package.lock * :bug: fix double import * 📋 add todo * :zap: Add autocompletion for i18n keys in script sections of Vue files (#3133) * :blue_book: Type `baseText()` to i18n keys * :blue_book: Adjust `baseText()` signature * :shirt: Except JSON files from Vue ESLint * :bug: Fix errors surfaced by `baseText()` typing * :zap: Pluralize keys * :blue_book: Add typing for category names * :zap: Mark internal keys * :pencil2: Update docs references * :art: Prettify syntax * :bug: Fix leftover internal key references * feat(Discord Node): Add additional options (#2918) * 🔖 Discord Node v2.0 * Updated image from png to svg * Added correct versioning * Added old for versioning purposes * Added other parameter for the url * Fixed subtitle added multipart option for payload * Removed unused imports * Changed data type for binary file * Removed console.log * Moved the additional fields to an option field + fixed some bugs * Refactored node into one version * Removed any type * Fixed some broken behaviour * Minor fixes for discord node * :zap: Fix parameter name Co-authored-by: Timeraa <me@timeraa.dev> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * feat(PagerDuty Node): Add support for additional details in incidents (#3140) * feat(PagerDuty node): add support for additional details for the incident * fix(editor): Fix breaking Drop-downs after removing expressions (#3094) * :bug: Fixed multiOption parameter input dropdown values after removing expression. * :recycle: Moved array value normalization to removeExpression action. * :bug: Handled scenario where expression contained invalid value. * :art: Centralize error throwing for encryption keys and credentials (#3105) * Centralized error throwing for encryption key * Unifying the error message used by cli and core packages * Improvements to error messages to make it more DRY * Removed unnecessary throw * Throwing error when credential does not exist to simplify node behavior (#3112) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * fix(core): Make email for UM case insensitive (#3078) * 🚧 lowercasing email * ✅ add tests for case insensitive email * 🐘 add migration to lowercase email * 🚚 rename migration * 🐛 fix package.lock * :bug: fix double import * 📋 add todo * :zap: Add autocompletion for i18n keys in script sections of Vue files (#3133) * :blue_book: Type `baseText()` to i18n keys * :blue_book: Adjust `baseText()` signature * :shirt: Except JSON files from Vue ESLint * :bug: Fix errors surfaced by `baseText()` typing * :zap: Pluralize keys * :blue_book: Add typing for category names * :zap: Mark internal keys * :pencil2: Update docs references * :art: Prettify syntax * :bug: Fix leftover internal key references * feat(Discord Node): Add additional options (#2918) * 🔖 Discord Node v2.0 * Updated image from png to svg * Added correct versioning * Added old for versioning purposes * Added other parameter for the url * Fixed subtitle added multipart option for payload * Removed unused imports * Changed data type for binary file * Removed console.log * Moved the additional fields to an option field + fixed some bugs * Refactored node into one version * Removed any type * Fixed some broken behaviour * Minor fixes for discord node * :zap: Fix parameter name Co-authored-by: Timeraa <me@timeraa.dev> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :zap: Move order and fix displayName and description Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Timeraa <me@timeraa.dev> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :shirt: Fix lint issue * fix(ZendeskTrigger Node): Fix deprecated targets, replaced with webhooks (#3025) * :hammer: fix for deprecated targets * :zap: Move crendentials injection to the credential file Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(GoogleBigQuery Node): Add support for service account authentication (#3128) * :zap: Enable service account authentication with the BigQuery node * :hammer: fixed auth issue with key, fixed nodelinter issues * :zap: added continue on fail * :zap: Improvements Co-authored-by: Mark Steve Samson <marksteve@thinkingmachin.es> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * fix(core): Add "rawBody" also for xml requests (#3143) * :shirt: Fix lint issue * fix(Discourse Node): Fix issue with not all posts getting returned and add credential test (#3007) * :hammer: fix for not all posts returning * :zap: added credential test * :zap: Improvements * :zap: Improvements * :zap: Define test the new way * :zap: Remove not needed imports * :zap: Fix auth test problem Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :arrow_up: Update package-lock.json file * feat(Markdown Node): Add new node to covert between Markdown <> HTML (#1728) * :sparkles: Markdown Node * Tweaked wording * :arrow_up: Bump showdown to latest version * :zap: Small improvement * :shirt: Fix linting issue * :zap: Small improvements * :hammer: added options, added continue on fail, some clean up * :zap: removed test code * :zap: added missing semicolumn * :hammer: wip * :hammer: replaced library for converting html to markdown, added options * :zap: lock file fix * :hammer: clean up Co-authored-by: sirdavidoff <1670123+sirdavidoff@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> * fix(Postgres Node): Fix issue with columns containing spaces (#2989) * :hammer: fixed error when column name containes spaces * :zap: added lock fille to commit * :hammer: fix for column names wraped in square braces * :hammer: added lock file * :hammer: fix for update key not included in update columns * :zap: Revert imports Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :bug: Update initialization checks (#3147) * feat(editor): Add drag and drop from nodes panel (#3123) * :sparkles: Added support for drag and drop from nodes main panel. :sparkles: Added node draggable placeholder. * :sparkles: Added snapping to grid. Changed how draggable ghost follows the cursor. * :lipstick: Changed node drag anchor position to be centered. * :sparkles: Added drag and drop animation. Added event cancellation when dropping node on main panel. * :recycle: Simplified drag and drop code and cleaned up prop-drilling. * :bug: Added check for nodeTypeName in dataTransfer when draging and dropping nodes. * :bug: Ensured MS Edge compatibility. MS edge does not send datatransfer in ondragover event. Co-authored-by: Mutasem <mutdmour@gmail.com> * feat(Slack Node): Add blocks to slack message update (#2182) * Adding blocks to slack message update * Fixing lint * Adding blocks to slack message update * Fixing lint * :zap: added toggle to display json inputs in update operation * :zap: Improvements * feat(Markdown Node): Add new node to covert between Markdown <> HTML (#1728) * :sparkles: Markdown Node * Tweaked wording * :arrow_up: Bump showdown to latest version * :zap: Small improvement * :shirt: Fix linting issue * :zap: Small improvements * :hammer: added options, added continue on fail, some clean up * :zap: removed test code * :zap: added missing semicolumn * :hammer: wip * :hammer: replaced library for converting html to markdown, added options * :zap: lock file fix * :hammer: clean up Co-authored-by: sirdavidoff <1670123+sirdavidoff@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: sirdavidoff <1670123+sirdavidoff@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.96.0 * :arrow_up: Set n8n-workflow@0.96.0 on n8n-core * :bookmark: Release n8n-core@0.114.0 * :arrow_up: Set n8n-core@0.114.0 and n8n-workflow@0.96.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.53.0 * :arrow_up: Set n8n-core@0.114.0 and n8n-workflow@0.96.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.171.0 * :arrow_up: Set n8n-workflow@0.96.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.140.0 * :arrow_up: Set n8n-core@0.114.0, n8n-editor-ui@0.140.0, n8n-nodes-base@0.171.0 and n8n-workflow@0.96.0 on n8n * :bookmark: Release n8n@0.173.0 * :books: Update CHANGELOG.md with version 0.173.0 * :zap: Fix discord icon name * :bookmark: Release n8n-nodes-base@0.171.1 * :arrow_up: Set n8n-nodes-base@0.171.1 on n8n * :bookmark: Release n8n@0.173.1 * :books: Update CHANGELOG.md with version 0.173.1 * :zap: Update Calendly Logo (#2528) Calendly has a new logo, updated the logo from the media kit: https://calendly.com/newsroom * test(core): Implement timeout in SMTP tests (#3152) * :zap: Implement timeout in SMTP tests * :truck: Move timeout to constants * fix(QuickBooks Node) Fix pagination (#3169) * Fixed pagination issue * Removed unused import * fix(Slack Node): Fix credential test (#3151) * feat(All AWS Nodes): Enable support for AWS temporary credentials (#2587) * Enable support for AWS temporary credentials * :hammer: removed toggle from ui added sessionToken to other aws services that using sign function from aws4 module * Update sign method for other AWS nodes * Remove the unneeded additional `temporaryCredentials` checkbox * Update description for session token * :zap: added missing session token to credentials test * Update sign method for DynamoDB * :hammer: added back toggle for hiding session token, fixed linter errors * :zap: wording fix Co-authored-by: Michael Kret <michael.k@radency.com> * :zap: Removed unnecessary import and fixed option order Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: nivb06 <99671629+nivb06@users.noreply.github.com> Co-authored-by: Niv <nivbelleli@gmail.com> Co-authored-by: Tom <19203795+that-one-tom@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Sergio <sergio@sergioguzman.com> Co-authored-by: Valentin Mocanu <mrvali97@gmail.com> Co-authored-by: Jasper Zonneveld <JaZo@users.noreply.github.com> Co-authored-by: Fred <f.choudat@gmail.com> Co-authored-by: Deborah <deborah@starfallprojects.co.uk> Co-authored-by: TheFSilver <40010470+TheFSilver@users.noreply.github.com> Co-authored-by: Ricardo Espinoza <ricardoespinoza105@gmail.com> Co-authored-by: pemontto <939704+pemontto@users.noreply.github.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: Yassine Fathi <hi@m4tt72.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Charles Lecalier <charles.lecalier@gmail.com> Co-authored-by: Rhys Williams <me@rhyswilliams.co.za> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Luis Cipriani <37157+lfcipriani@users.noreply.github.com> Co-authored-by: Ketan Somvanshi <ketan.somvanshi@plivo.com> Co-authored-by: Snyk bot <snyk-bot@snyk.io> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: paolo-rechia <paolo@e-bot7.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Mutasem <mutdmour@gmail.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Francesco Pongiluppi <pongi@pongi.it> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Timeraa <me@timeraa.dev> Co-authored-by: Andrey Sinitsyn <andrey.sin98@gmail.com> Co-authored-by: Mark Steve Samson <marksteve@thinkingmachin.es> Co-authored-by: sirdavidoff <1670123+sirdavidoff@users.noreply.github.com> Co-authored-by: Mike Quinlan <mquinlan@gigsmart.com> Co-authored-by: Cody Stamps <cody.stamps@hey.com> Co-authored-by: Basit Ali <basitalimundia@gmail.com>
2022-04-22 07:44:23 -07:00
import { get, set } from 'lodash';
/**
* Standard way of building the MongoDB connection string, unless overridden with a provided string
*
* @param {ICredentialDataDecryptedObject} credentials MongoDB credentials to use, unless conn string is overridden
*/
function buildParameterizedConnString(
2020-10-22 09:00:28 -07:00
credentials: IMongoParametricCredentials,
): string {
if (credentials.port) {
return `mongodb://${credentials.user}:${credentials.password}@${credentials.host}:${credentials.port}`;
} else {
return `mongodb+srv://${credentials.user}:${credentials.password}@${credentials.host}`;
}
}
/**
* Build mongoDb connection string and resolve database name.
* If a connection string override value is provided, that will be used in place of individual args
*
:sparkles: Improve node error handling (#1309) * Add path mapping and response error interfaces * Add error handling and throwing functionality * Refactor error handling into a single function * Re-implement error handling in Hacker News node * Fix linting details * Re-implement error handling in Spotify node * Re-implement error handling in G Suite Admin node * :construction: create basic setup NodeError * :construction: add httpCodes * :construction: add path priolist * :construction: handle statusCode in error, adjust interfaces * :construction: fixing type issues w/Ivan * :construction: add error exploration * 👔 fix linter issues * :wrench: improve object check * :construction: remove path passing from NodeApiError * :construction: add multi error + refactor findProperty method * 👔 allow any * :wrench: handle multi error message callback * :zap: change return type of callback * :zap: add customCallback to MultiError * :construction: refactor to use INode * :hammer: handle arrays, continue search after first null property found * 🚫 refactor method access * :construction: setup NodeErrorView * :zap: change timestamp to Date.now * :books: Add documentation for methods and constants * :construction: change message setting * 🚚 move NodeErrors to workflow * :sparkles: add new ErrorView for Nodes * :art: improve error notification * :art: refactor interfaces * :zap: add WorkflowOperationError, refactor error throwing * 👕 fix linter issues * :art: rename param * :bug: fix handling normal errors * :zap: add usage of NodeApiError * :art: fix throw new error instead of constructor * :art: remove unnecessary code/comments * :art: adjusted spacing + updated status messages * :art: fix tab indentation * ✨ Replace current errors with custom errors (#1576) * :zap: Introduce NodeApiError in catch blocks * :zap: Introduce NodeOperationError in nodes * :zap: Add missing errors and remove incompatible * :zap: Fix NodeOperationError in incompatible nodes * :wrench: Adjust error handling in missed nodes PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes * :hammer: Adjust Strava Trigger node error handling * :hammer: Adjust AWS nodes error handling * :hammer: Remove duplicate instantiation of NodeApiError * :bug: fix strava trigger node error handling * Add XML parsing to NodeApiError constructor (#1633) * :bug: Remove type annotation from catch variable * :sparkles: Add XML parsing to NodeApiError * :zap: Simplify error handling in Rekognition node * :zap: Pass in XML flag in generic functions * :fire: Remove try/catch wrappers at call sites * :hammer: Refactor setting description from XML * :hammer: Refactor let to const in resource loaders * :zap: Find property in parsed XML * :zap: Change let to const * :fire: Remove unneeded try/catch block * :shirt: Fix linting issues * :bug: Fix errors from merge conflict resolution * :zap: Add custom errors to latest contributions * :shirt: Fix linting issues * :zap: Refactor MongoDB helpers for custom errors * :bug: Correct custom error type * :zap: Apply feedback to A nodes * :zap: Apply feedback to missed A node * :zap: Apply feedback to B-D nodes * :zap: Apply feedback to E-F nodes * :zap: Apply feedback to G nodes * :zap: Apply feedback to H-L nodes * :zap: Apply feedback to M nodes * :zap: Apply feedback to P nodes * :zap: Apply feedback to R nodes * :zap: Apply feedback to S nodes * :zap: Apply feedback to T nodes * :zap: Apply feedback to V-Z nodes * :zap: Add HTTP code to iterable node error * :hammer: Standardize e as error * :hammer: Standardize err as error * :zap: Fix error handling for non-standard nodes Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 09:33:36 -07:00
* @param {IExecuteFunctions} self
* @param {ICredentialDataDecryptedObject} credentials raw/input MongoDB credentials to use
*/
:sparkles: Improve node error handling (#1309) * Add path mapping and response error interfaces * Add error handling and throwing functionality * Refactor error handling into a single function * Re-implement error handling in Hacker News node * Fix linting details * Re-implement error handling in Spotify node * Re-implement error handling in G Suite Admin node * :construction: create basic setup NodeError * :construction: add httpCodes * :construction: add path priolist * :construction: handle statusCode in error, adjust interfaces * :construction: fixing type issues w/Ivan * :construction: add error exploration * 👔 fix linter issues * :wrench: improve object check * :construction: remove path passing from NodeApiError * :construction: add multi error + refactor findProperty method * 👔 allow any * :wrench: handle multi error message callback * :zap: change return type of callback * :zap: add customCallback to MultiError * :construction: refactor to use INode * :hammer: handle arrays, continue search after first null property found * 🚫 refactor method access * :construction: setup NodeErrorView * :zap: change timestamp to Date.now * :books: Add documentation for methods and constants * :construction: change message setting * 🚚 move NodeErrors to workflow * :sparkles: add new ErrorView for Nodes * :art: improve error notification * :art: refactor interfaces * :zap: add WorkflowOperationError, refactor error throwing * 👕 fix linter issues * :art: rename param * :bug: fix handling normal errors * :zap: add usage of NodeApiError * :art: fix throw new error instead of constructor * :art: remove unnecessary code/comments * :art: adjusted spacing + updated status messages * :art: fix tab indentation * ✨ Replace current errors with custom errors (#1576) * :zap: Introduce NodeApiError in catch blocks * :zap: Introduce NodeOperationError in nodes * :zap: Add missing errors and remove incompatible * :zap: Fix NodeOperationError in incompatible nodes * :wrench: Adjust error handling in missed nodes PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes * :hammer: Adjust Strava Trigger node error handling * :hammer: Adjust AWS nodes error handling * :hammer: Remove duplicate instantiation of NodeApiError * :bug: fix strava trigger node error handling * Add XML parsing to NodeApiError constructor (#1633) * :bug: Remove type annotation from catch variable * :sparkles: Add XML parsing to NodeApiError * :zap: Simplify error handling in Rekognition node * :zap: Pass in XML flag in generic functions * :fire: Remove try/catch wrappers at call sites * :hammer: Refactor setting description from XML * :hammer: Refactor let to const in resource loaders * :zap: Find property in parsed XML * :zap: Change let to const * :fire: Remove unneeded try/catch block * :shirt: Fix linting issues * :bug: Fix errors from merge conflict resolution * :zap: Add custom errors to latest contributions * :shirt: Fix linting issues * :zap: Refactor MongoDB helpers for custom errors * :bug: Correct custom error type * :zap: Apply feedback to A nodes * :zap: Apply feedback to missed A node * :zap: Apply feedback to B-D nodes * :zap: Apply feedback to E-F nodes * :zap: Apply feedback to G nodes * :zap: Apply feedback to H-L nodes * :zap: Apply feedback to M nodes * :zap: Apply feedback to P nodes * :zap: Apply feedback to R nodes * :zap: Apply feedback to S nodes * :zap: Apply feedback to T nodes * :zap: Apply feedback to V-Z nodes * :zap: Add HTTP code to iterable node error * :hammer: Standardize e as error * :hammer: Standardize err as error * :zap: Fix error handling for non-standard nodes Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 09:33:36 -07:00
export function buildMongoConnectionParams(
self: IExecuteFunctions,
2020-10-22 09:00:28 -07:00
credentials: IMongoCredentialsType,
): IMongoCredentials {
const sanitizedDbName =
credentials.database && credentials.database.trim().length > 0
? credentials.database.trim()
: '';
if (credentials.configurationType === 'connectionString') {
if (
credentials.connectionString &&
credentials.connectionString.trim().length > 0
) {
return {
connectionString: credentials.connectionString.trim(),
2020-10-22 06:46:03 -07:00
database: sanitizedDbName,
};
} else {
:sparkles: Improve node error handling (#1309) * Add path mapping and response error interfaces * Add error handling and throwing functionality * Refactor error handling into a single function * Re-implement error handling in Hacker News node * Fix linting details * Re-implement error handling in Spotify node * Re-implement error handling in G Suite Admin node * :construction: create basic setup NodeError * :construction: add httpCodes * :construction: add path priolist * :construction: handle statusCode in error, adjust interfaces * :construction: fixing type issues w/Ivan * :construction: add error exploration * 👔 fix linter issues * :wrench: improve object check * :construction: remove path passing from NodeApiError * :construction: add multi error + refactor findProperty method * 👔 allow any * :wrench: handle multi error message callback * :zap: change return type of callback * :zap: add customCallback to MultiError * :construction: refactor to use INode * :hammer: handle arrays, continue search after first null property found * 🚫 refactor method access * :construction: setup NodeErrorView * :zap: change timestamp to Date.now * :books: Add documentation for methods and constants * :construction: change message setting * 🚚 move NodeErrors to workflow * :sparkles: add new ErrorView for Nodes * :art: improve error notification * :art: refactor interfaces * :zap: add WorkflowOperationError, refactor error throwing * 👕 fix linter issues * :art: rename param * :bug: fix handling normal errors * :zap: add usage of NodeApiError * :art: fix throw new error instead of constructor * :art: remove unnecessary code/comments * :art: adjusted spacing + updated status messages * :art: fix tab indentation * ✨ Replace current errors with custom errors (#1576) * :zap: Introduce NodeApiError in catch blocks * :zap: Introduce NodeOperationError in nodes * :zap: Add missing errors and remove incompatible * :zap: Fix NodeOperationError in incompatible nodes * :wrench: Adjust error handling in missed nodes PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes * :hammer: Adjust Strava Trigger node error handling * :hammer: Adjust AWS nodes error handling * :hammer: Remove duplicate instantiation of NodeApiError * :bug: fix strava trigger node error handling * Add XML parsing to NodeApiError constructor (#1633) * :bug: Remove type annotation from catch variable * :sparkles: Add XML parsing to NodeApiError * :zap: Simplify error handling in Rekognition node * :zap: Pass in XML flag in generic functions * :fire: Remove try/catch wrappers at call sites * :hammer: Refactor setting description from XML * :hammer: Refactor let to const in resource loaders * :zap: Find property in parsed XML * :zap: Change let to const * :fire: Remove unneeded try/catch block * :shirt: Fix linting issues * :bug: Fix errors from merge conflict resolution * :zap: Add custom errors to latest contributions * :shirt: Fix linting issues * :zap: Refactor MongoDB helpers for custom errors * :bug: Correct custom error type * :zap: Apply feedback to A nodes * :zap: Apply feedback to missed A node * :zap: Apply feedback to B-D nodes * :zap: Apply feedback to E-F nodes * :zap: Apply feedback to G nodes * :zap: Apply feedback to H-L nodes * :zap: Apply feedback to M nodes * :zap: Apply feedback to P nodes * :zap: Apply feedback to R nodes * :zap: Apply feedback to S nodes * :zap: Apply feedback to T nodes * :zap: Apply feedback to V-Z nodes * :zap: Add HTTP code to iterable node error * :hammer: Standardize e as error * :hammer: Standardize err as error * :zap: Fix error handling for non-standard nodes Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 09:33:36 -07:00
throw new NodeOperationError(self.getNode(), 'Cannot override credentials: valid MongoDB connection string not provided ');
}
} else {
return {
connectionString: buildParameterizedConnString(credentials),
2020-10-22 06:46:03 -07:00
database: sanitizedDbName,
};
}
}
/**
* Verify credentials. If ok, build mongoDb connection string and resolve database name.
*
:sparkles: Improve node error handling (#1309) * Add path mapping and response error interfaces * Add error handling and throwing functionality * Refactor error handling into a single function * Re-implement error handling in Hacker News node * Fix linting details * Re-implement error handling in Spotify node * Re-implement error handling in G Suite Admin node * :construction: create basic setup NodeError * :construction: add httpCodes * :construction: add path priolist * :construction: handle statusCode in error, adjust interfaces * :construction: fixing type issues w/Ivan * :construction: add error exploration * 👔 fix linter issues * :wrench: improve object check * :construction: remove path passing from NodeApiError * :construction: add multi error + refactor findProperty method * 👔 allow any * :wrench: handle multi error message callback * :zap: change return type of callback * :zap: add customCallback to MultiError * :construction: refactor to use INode * :hammer: handle arrays, continue search after first null property found * 🚫 refactor method access * :construction: setup NodeErrorView * :zap: change timestamp to Date.now * :books: Add documentation for methods and constants * :construction: change message setting * 🚚 move NodeErrors to workflow * :sparkles: add new ErrorView for Nodes * :art: improve error notification * :art: refactor interfaces * :zap: add WorkflowOperationError, refactor error throwing * 👕 fix linter issues * :art: rename param * :bug: fix handling normal errors * :zap: add usage of NodeApiError * :art: fix throw new error instead of constructor * :art: remove unnecessary code/comments * :art: adjusted spacing + updated status messages * :art: fix tab indentation * ✨ Replace current errors with custom errors (#1576) * :zap: Introduce NodeApiError in catch blocks * :zap: Introduce NodeOperationError in nodes * :zap: Add missing errors and remove incompatible * :zap: Fix NodeOperationError in incompatible nodes * :wrench: Adjust error handling in missed nodes PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes * :hammer: Adjust Strava Trigger node error handling * :hammer: Adjust AWS nodes error handling * :hammer: Remove duplicate instantiation of NodeApiError * :bug: fix strava trigger node error handling * Add XML parsing to NodeApiError constructor (#1633) * :bug: Remove type annotation from catch variable * :sparkles: Add XML parsing to NodeApiError * :zap: Simplify error handling in Rekognition node * :zap: Pass in XML flag in generic functions * :fire: Remove try/catch wrappers at call sites * :hammer: Refactor setting description from XML * :hammer: Refactor let to const in resource loaders * :zap: Find property in parsed XML * :zap: Change let to const * :fire: Remove unneeded try/catch block * :shirt: Fix linting issues * :bug: Fix errors from merge conflict resolution * :zap: Add custom errors to latest contributions * :shirt: Fix linting issues * :zap: Refactor MongoDB helpers for custom errors * :bug: Correct custom error type * :zap: Apply feedback to A nodes * :zap: Apply feedback to missed A node * :zap: Apply feedback to B-D nodes * :zap: Apply feedback to E-F nodes * :zap: Apply feedback to G nodes * :zap: Apply feedback to H-L nodes * :zap: Apply feedback to M nodes * :zap: Apply feedback to P nodes * :zap: Apply feedback to R nodes * :zap: Apply feedback to S nodes * :zap: Apply feedback to T nodes * :zap: Apply feedback to V-Z nodes * :zap: Add HTTP code to iterable node error * :hammer: Standardize e as error * :hammer: Standardize err as error * :zap: Fix error handling for non-standard nodes Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 09:33:36 -07:00
* @param {IExecuteFunctions} self
* @param {ICredentialDataDecryptedObject} credentials raw/input MongoDB credentials to use
*/
export function validateAndResolveMongoCredentials(
:sparkles: Improve node error handling (#1309) * Add path mapping and response error interfaces * Add error handling and throwing functionality * Refactor error handling into a single function * Re-implement error handling in Hacker News node * Fix linting details * Re-implement error handling in Spotify node * Re-implement error handling in G Suite Admin node * :construction: create basic setup NodeError * :construction: add httpCodes * :construction: add path priolist * :construction: handle statusCode in error, adjust interfaces * :construction: fixing type issues w/Ivan * :construction: add error exploration * 👔 fix linter issues * :wrench: improve object check * :construction: remove path passing from NodeApiError * :construction: add multi error + refactor findProperty method * 👔 allow any * :wrench: handle multi error message callback * :zap: change return type of callback * :zap: add customCallback to MultiError * :construction: refactor to use INode * :hammer: handle arrays, continue search after first null property found * 🚫 refactor method access * :construction: setup NodeErrorView * :zap: change timestamp to Date.now * :books: Add documentation for methods and constants * :construction: change message setting * 🚚 move NodeErrors to workflow * :sparkles: add new ErrorView for Nodes * :art: improve error notification * :art: refactor interfaces * :zap: add WorkflowOperationError, refactor error throwing * 👕 fix linter issues * :art: rename param * :bug: fix handling normal errors * :zap: add usage of NodeApiError * :art: fix throw new error instead of constructor * :art: remove unnecessary code/comments * :art: adjusted spacing + updated status messages * :art: fix tab indentation * ✨ Replace current errors with custom errors (#1576) * :zap: Introduce NodeApiError in catch blocks * :zap: Introduce NodeOperationError in nodes * :zap: Add missing errors and remove incompatible * :zap: Fix NodeOperationError in incompatible nodes * :wrench: Adjust error handling in missed nodes PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes * :hammer: Adjust Strava Trigger node error handling * :hammer: Adjust AWS nodes error handling * :hammer: Remove duplicate instantiation of NodeApiError * :bug: fix strava trigger node error handling * Add XML parsing to NodeApiError constructor (#1633) * :bug: Remove type annotation from catch variable * :sparkles: Add XML parsing to NodeApiError * :zap: Simplify error handling in Rekognition node * :zap: Pass in XML flag in generic functions * :fire: Remove try/catch wrappers at call sites * :hammer: Refactor setting description from XML * :hammer: Refactor let to const in resource loaders * :zap: Find property in parsed XML * :zap: Change let to const * :fire: Remove unneeded try/catch block * :shirt: Fix linting issues * :bug: Fix errors from merge conflict resolution * :zap: Add custom errors to latest contributions * :shirt: Fix linting issues * :zap: Refactor MongoDB helpers for custom errors * :bug: Correct custom error type * :zap: Apply feedback to A nodes * :zap: Apply feedback to missed A node * :zap: Apply feedback to B-D nodes * :zap: Apply feedback to E-F nodes * :zap: Apply feedback to G nodes * :zap: Apply feedback to H-L nodes * :zap: Apply feedback to M nodes * :zap: Apply feedback to P nodes * :zap: Apply feedback to R nodes * :zap: Apply feedback to S nodes * :zap: Apply feedback to T nodes * :zap: Apply feedback to V-Z nodes * :zap: Add HTTP code to iterable node error * :hammer: Standardize e as error * :hammer: Standardize err as error * :zap: Fix error handling for non-standard nodes Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 09:33:36 -07:00
self: IExecuteFunctions,
2020-10-22 09:00:28 -07:00
credentials?: ICredentialDataDecryptedObject,
): IMongoCredentials {
if (credentials === undefined) {
:sparkles: Improve node error handling (#1309) * Add path mapping and response error interfaces * Add error handling and throwing functionality * Refactor error handling into a single function * Re-implement error handling in Hacker News node * Fix linting details * Re-implement error handling in Spotify node * Re-implement error handling in G Suite Admin node * :construction: create basic setup NodeError * :construction: add httpCodes * :construction: add path priolist * :construction: handle statusCode in error, adjust interfaces * :construction: fixing type issues w/Ivan * :construction: add error exploration * 👔 fix linter issues * :wrench: improve object check * :construction: remove path passing from NodeApiError * :construction: add multi error + refactor findProperty method * 👔 allow any * :wrench: handle multi error message callback * :zap: change return type of callback * :zap: add customCallback to MultiError * :construction: refactor to use INode * :hammer: handle arrays, continue search after first null property found * 🚫 refactor method access * :construction: setup NodeErrorView * :zap: change timestamp to Date.now * :books: Add documentation for methods and constants * :construction: change message setting * 🚚 move NodeErrors to workflow * :sparkles: add new ErrorView for Nodes * :art: improve error notification * :art: refactor interfaces * :zap: add WorkflowOperationError, refactor error throwing * 👕 fix linter issues * :art: rename param * :bug: fix handling normal errors * :zap: add usage of NodeApiError * :art: fix throw new error instead of constructor * :art: remove unnecessary code/comments * :art: adjusted spacing + updated status messages * :art: fix tab indentation * ✨ Replace current errors with custom errors (#1576) * :zap: Introduce NodeApiError in catch blocks * :zap: Introduce NodeOperationError in nodes * :zap: Add missing errors and remove incompatible * :zap: Fix NodeOperationError in incompatible nodes * :wrench: Adjust error handling in missed nodes PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes * :hammer: Adjust Strava Trigger node error handling * :hammer: Adjust AWS nodes error handling * :hammer: Remove duplicate instantiation of NodeApiError * :bug: fix strava trigger node error handling * Add XML parsing to NodeApiError constructor (#1633) * :bug: Remove type annotation from catch variable * :sparkles: Add XML parsing to NodeApiError * :zap: Simplify error handling in Rekognition node * :zap: Pass in XML flag in generic functions * :fire: Remove try/catch wrappers at call sites * :hammer: Refactor setting description from XML * :hammer: Refactor let to const in resource loaders * :zap: Find property in parsed XML * :zap: Change let to const * :fire: Remove unneeded try/catch block * :shirt: Fix linting issues * :bug: Fix errors from merge conflict resolution * :zap: Add custom errors to latest contributions * :shirt: Fix linting issues * :zap: Refactor MongoDB helpers for custom errors * :bug: Correct custom error type * :zap: Apply feedback to A nodes * :zap: Apply feedback to missed A node * :zap: Apply feedback to B-D nodes * :zap: Apply feedback to E-F nodes * :zap: Apply feedback to G nodes * :zap: Apply feedback to H-L nodes * :zap: Apply feedback to M nodes * :zap: Apply feedback to P nodes * :zap: Apply feedback to R nodes * :zap: Apply feedback to S nodes * :zap: Apply feedback to T nodes * :zap: Apply feedback to V-Z nodes * :zap: Add HTTP code to iterable node error * :hammer: Standardize e as error * :hammer: Standardize err as error * :zap: Fix error handling for non-standard nodes Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 09:33:36 -07:00
throw new NodeOperationError(self.getNode(), 'No credentials got returned!');
} else {
return buildMongoConnectionParams(
:sparkles: Improve node error handling (#1309) * Add path mapping and response error interfaces * Add error handling and throwing functionality * Refactor error handling into a single function * Re-implement error handling in Hacker News node * Fix linting details * Re-implement error handling in Spotify node * Re-implement error handling in G Suite Admin node * :construction: create basic setup NodeError * :construction: add httpCodes * :construction: add path priolist * :construction: handle statusCode in error, adjust interfaces * :construction: fixing type issues w/Ivan * :construction: add error exploration * 👔 fix linter issues * :wrench: improve object check * :construction: remove path passing from NodeApiError * :construction: add multi error + refactor findProperty method * 👔 allow any * :wrench: handle multi error message callback * :zap: change return type of callback * :zap: add customCallback to MultiError * :construction: refactor to use INode * :hammer: handle arrays, continue search after first null property found * 🚫 refactor method access * :construction: setup NodeErrorView * :zap: change timestamp to Date.now * :books: Add documentation for methods and constants * :construction: change message setting * 🚚 move NodeErrors to workflow * :sparkles: add new ErrorView for Nodes * :art: improve error notification * :art: refactor interfaces * :zap: add WorkflowOperationError, refactor error throwing * 👕 fix linter issues * :art: rename param * :bug: fix handling normal errors * :zap: add usage of NodeApiError * :art: fix throw new error instead of constructor * :art: remove unnecessary code/comments * :art: adjusted spacing + updated status messages * :art: fix tab indentation * ✨ Replace current errors with custom errors (#1576) * :zap: Introduce NodeApiError in catch blocks * :zap: Introduce NodeOperationError in nodes * :zap: Add missing errors and remove incompatible * :zap: Fix NodeOperationError in incompatible nodes * :wrench: Adjust error handling in missed nodes PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes * :hammer: Adjust Strava Trigger node error handling * :hammer: Adjust AWS nodes error handling * :hammer: Remove duplicate instantiation of NodeApiError * :bug: fix strava trigger node error handling * Add XML parsing to NodeApiError constructor (#1633) * :bug: Remove type annotation from catch variable * :sparkles: Add XML parsing to NodeApiError * :zap: Simplify error handling in Rekognition node * :zap: Pass in XML flag in generic functions * :fire: Remove try/catch wrappers at call sites * :hammer: Refactor setting description from XML * :hammer: Refactor let to const in resource loaders * :zap: Find property in parsed XML * :zap: Change let to const * :fire: Remove unneeded try/catch block * :shirt: Fix linting issues * :bug: Fix errors from merge conflict resolution * :zap: Add custom errors to latest contributions * :shirt: Fix linting issues * :zap: Refactor MongoDB helpers for custom errors * :bug: Correct custom error type * :zap: Apply feedback to A nodes * :zap: Apply feedback to missed A node * :zap: Apply feedback to B-D nodes * :zap: Apply feedback to E-F nodes * :zap: Apply feedback to G nodes * :zap: Apply feedback to H-L nodes * :zap: Apply feedback to M nodes * :zap: Apply feedback to P nodes * :zap: Apply feedback to R nodes * :zap: Apply feedback to S nodes * :zap: Apply feedback to T nodes * :zap: Apply feedback to V-Z nodes * :zap: Add HTTP code to iterable node error * :hammer: Standardize e as error * :hammer: Standardize err as error * :zap: Fix error handling for non-standard nodes Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
2021-04-16 09:33:36 -07:00
self,
2020-10-22 09:00:28 -07:00
credentials as unknown as IMongoCredentialsType,
);
}
}
/**
* Returns of copy of the items which only contains the json data and
* of that only the define properties
*
* @param {INodeExecutionData[]} items The items to copy
* @param {string[]} properties The properties it should include
* @returns
*/
export function getItemCopy(
items: INodeExecutionData[],
2020-10-22 09:00:28 -07:00
properties: string[],
): IDataObject[] {
// Prepare the data to insert and copy it to be returned
let newItem: IDataObject;
return items.map(item => {
newItem = {};
for (const property of properties) {
if (item.json[property] === undefined) {
newItem[property] = null;
} else {
newItem[property] = JSON.parse(JSON.stringify(item.json[property]));
}
}
return newItem;
});
}
export function handleDateFields(insertItems: IDataObject[], fields: string) {
const dateFields = (fields as string).split(',');
for (let i = 0; i < insertItems.length; i++) {
for (const key of Object.keys(insertItems[i])) {
if (dateFields.includes(key)) {
insertItems[i][key] = new Date(insertItems[i][key] as string);
}
}
}
}
feat(MongoDB Node): Allow parsing dates using dot notation (#2487) * Parse Dates using Dot Notation * :zap: fixed types issues that prevent brunch from building, fixed nodelinter issues * :hammer: hint for date fields * :hammer: fixed bug with only one field converted to date * :hammer: added toggle for access date fields with dot notation * :zap: Add Odoo and RedisTrigger node codex (#3005) * .168.2fixed: Auto stash before rebase of "refs/heads/codex/0.168.2fixed" Odoo and Redis Trigger codex files update * Update RedisTrigger.node.json Co-authored-by: Niv <nivbelleli@gmail.com> * :zap: Add KoBoToolbox and Linear codex files (#3040) KoBoToolbox KoBoToolbox Trigger Linear Co-authored-by: Niv <nivbelleli@gmail.com> * :books: Add missing full stop to license text * (fix): Added missing full stop to license GitHub does not render the single line breaks in the *Limitations* section. The added full stop makes it easier to read our license. * :books: Add also to other files Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * fix(AWS Lambda Node): Fix "Invocation Type" > "Continue Workflow" (#3010) * :hammer: fix for running in continue workflow * :zap: Minor simplification Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :books: Add one more missing full stop to license text * fix(core): Add logs and error catches for possible failures in queue mode (#3032) * fix(Supabase Node): Fix Row > Get operation (#3045) * fix(Supabase Node): Send token also via Authorization Bearer (#2814) Send Authorization Bearer in headers Fix typo in validateCredentials function * fix(Wise Node): Fix issue when executing a transfer (#3039) * :zap: Fix credentials import success message (#3038) * :books: Add missing full stop to license text (#3028) Adding "." L15. In addition, the markdown display don't show line break as in the editor. * :books: Add note to changelog linking to historic log (#3031) * feat(HTTP Request Node): Add support for OPTIONS method (#3030) * fix(Xero Node): Fix some operations and add support for setting address and phone number (#3048) * :bug: Fix issue when sending Organization ID - Xero node * :shirt: Fix linting issue * feat(Crypto Node): Add Generate operation to generate random values (#2541) * ✨ Add generate action to crypto node * :zap: small fixes, nodelinter issues fixes * :zap: Improvements * :zap: Fix order Co-authored-by: michael-radency <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * feat(Reddit Node): Add possibility to query saved posts (#3034) * chore: add nvmrc with required node version * feat: added saved posts to reddit node with credentials on User resource * Changed Details order * Fixed lint issue * Moved saved posts to profile as it only works for the logged in user, This avoids the breaking change * Removed .nvmrc * :zap: Improvements Co-authored-by: Yassine Fathi <hi@m4tt72.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Jira Node): Add Simplify Output option to Issue > Get (#2408) * ✨ Add option to use Jira field display names * 🚸 Make mapped fields more deterministic * ♻️ Refactor Jira user loadOptions * Moved and renamed the option as well as only returning the fields to * Tweaked Friendly Fields to make it "Simplify Output" following similar patterns to other nodes * :zap: Improvements Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Zendesk Node): Add ticket status "On-hold" * :bookmark: Release n8n-workflow@0.93.0 * :arrow_up: Set n8n-workflow@0.93.0 on n8n-core * :bookmark: Release n8n-core@0.111.0 * :arrow_up: Set n8n-core@0.111.0 and n8n-workflow@0.93.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.50.0 * :arrow_up: Set n8n-core@0.111.0 and n8n-workflow@0.93.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.168.0 * :bookmark: Release n8n-design-system@0.16.0 * :arrow_up: Set n8n-design-system@0.16.0 and n8n-workflow@0.93.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.137.0 * :arrow_up: Set n8n-core@0.111.0, n8n-editor-ui@0.137.0, n8n-nodes-base@0.168.0 and n8n-workflow@0.93.0 on n8n * :bookmark: Release n8n@0.170.0 * :arrow_up: Update package-lock.json file * :books: Update CHANGELOG.md with version 0.170.0 * feat(editor): Add download button for binary data (#2992) * :sparkles: Make it possible to download binary data * :zap: Fix lint issues and add support for filesystem mode * :zap: Design adjustment * :zap: Updated wording for Number operations on IF-Node (#3065) * fix(Google Tasks Node): Fix "Show Completed" option and hide title field where not needed (#2741) * 🐛 Google Tasks: Fix showCompleted * :zap: Improvements Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mocean Node): Add "Delivery Report URL" option and credential tests (#3075) * add dlr url column add dlr url(delivery report URl) column. Allow user set the endpoint to receive the report * update update delivery report url description * :zap: fixed nodelinter issues, added credential test, replaced icon * :zap: Improvements Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> * feat(Emelia Node): Add Campaign > Duplicate functionality (#3000) * feat(Emelia Node): Add campaign duplication feature * :zap: small ui fixes, added credential test, fixed nodelinter issues * :zap: Improvements * :zap: Updated wording for Number operations on IF-Node (#3065) * fix(Google Tasks Node): Fix "Show Completed" option and hide title field where not needed (#2741) * 🐛 Google Tasks: Fix showCompleted * :zap: Improvements Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mocean Node): Add "Delivery Report URL" option and credential tests (#3075) * add dlr url column add dlr url(delivery report URl) column. Allow user set the endpoint to receive the report * update update delivery report url description * :zap: fixed nodelinter issues, added credential test, replaced icon * :zap: Improvements Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> * :zap: Normalize name Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: Tom <19203795+that-one-tom@users.noreply.github.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * fix(GraphQL Node)!: Correctly report errors returned by the API (#3071) * upstream merge * :zap: graphql node will throw error when response has errors property * :hammer: updated changelog * :zap: Improvements * :zap: Improvements * :zap: Add package-lock.json back Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(FTP Node): Add option to recursively create directories on rename (#3001) * Recursively Make Directories on SFTP Rename * Linting * :zap: Improvement * :zap: Rename "Move" to "Create Directories" * Change "Create Directories" description Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Microsoft Teams Node): Add chat message support (#2635) * ✨ Add chat messages to MS Teams node * Updated credentials to include missing scope * :zap: Small improvements Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mautic Node): Add credential test and allow trailing slash in host (#3080) * Updated Mautic to stop trailing slashes from causing an issue * Fixed oauth failing when there is a trailing slash in the mautic host * Added credential test * test: Fix randomly failing UM tests (#3061) * :zap: Declutter test logs * :bug: Fix random passwords length * :bug: Fix password hashing in test user creation * :bug: Hash leftover password * :zap: Improve error message for `compare` * :zap: Restore `randomInvalidPassword` contant * :zap: Mock Telemetry module to prevent `--forceExit` * :zap: Silence logger * :zap: Simplify condition * :zap: Unhash password in payload * fix(NocoDB Node): Fix pagination (#3081) * feat(Strava Node): Add "Get Streams" operation (#2582) * Strava node: adding getStreams operation * Changed the keys to use multiOptions Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * fix(core): Fix crash on webhook when last node did not return data * fix(Salesforce Node): Fix issue that "status" did not get used for Case => Create & Update (#2212) * bugfix for salesforce case create and update case not picking status * :bug: Fix issue with package-lock.json Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(ServiceNow Node): Add basicAuth support and fix getColumns loadOptions (#2712) * ✨ Support basic auth for ServiceNow * 🐛 Support ServiceNow sysparm_fields as string * :zap: credential test for basic auth * fix(Google Tasks Node): Fix "Show Completed" option and hide title field where not needed (#2741) * 🐛 Google Tasks: Fix showCompleted * :zap: Improvements Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mocean Node): Add "Delivery Report URL" option and credential tests (#3075) * add dlr url column add dlr url(delivery report URl) column. Allow user set the endpoint to receive the report * update update delivery report url description * :zap: fixed nodelinter issues, added credential test, replaced icon * :zap: Improvements Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> * feat(Emelia Node): Add Campaign > Duplicate functionality (#3000) * feat(Emelia Node): Add campaign duplication feature * :zap: small ui fixes, added credential test, fixed nodelinter issues * :zap: Improvements * :zap: Updated wording for Number operations on IF-Node (#3065) * fix(Google Tasks Node): Fix "Show Completed" option and hide title field where not needed (#2741) * 🐛 Google Tasks: Fix showCompleted * :zap: Improvements Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mocean Node): Add "Delivery Report URL" option and credential tests (#3075) * add dlr url column add dlr url(delivery report URl) column. Allow user set the endpoint to receive the report * update update delivery report url description * :zap: fixed nodelinter issues, added credential test, replaced icon * :zap: Improvements Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> * :zap: Normalize name Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: Tom <19203795+that-one-tom@users.noreply.github.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :zap: fix nodelinter issues, added hint to field option * fix(GraphQL Node)!: Correctly report errors returned by the API (#3071) * upstream merge * :zap: graphql node will throw error when response has errors property * :hammer: updated changelog * :zap: Improvements * :zap: Improvements * :zap: Add package-lock.json back Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(FTP Node): Add option to recursively create directories on rename (#3001) * Recursively Make Directories on SFTP Rename * Linting * :zap: Improvement * :zap: Rename "Move" to "Create Directories" * Change "Create Directories" description Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Microsoft Teams Node): Add chat message support (#2635) * ✨ Add chat messages to MS Teams node * Updated credentials to include missing scope * :zap: Small improvements Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(Mautic Node): Add credential test and allow trailing slash in host (#3080) * Updated Mautic to stop trailing slashes from causing an issue * Fixed oauth failing when there is a trailing slash in the mautic host * Added credential test * test: Fix randomly failing UM tests (#3061) * :zap: Declutter test logs * :bug: Fix random passwords length * :bug: Fix password hashing in test user creation * :bug: Hash leftover password * :zap: Improve error message for `compare` * :zap: Restore `randomInvalidPassword` contant * :zap: Mock Telemetry module to prevent `--forceExit` * :zap: Silence logger * :zap: Simplify condition * :zap: Unhash password in payload * fix(NocoDB Node): Fix pagination (#3081) * feat(Strava Node): Add "Get Streams" operation (#2582) * Strava node: adding getStreams operation * Changed the keys to use multiOptions Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> * :zap: Improvements * fix(core): Fix crash on webhook when last node did not return data * fix(Salesforce Node): Fix issue that "status" did not get used for Case => Create & Update (#2212) * bugfix for salesforce case create and update case not picking status * :bug: Fix issue with package-lock.json Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * :bug: Fix issue with credentials * :zap: Fix basicAuth * :zap: Reset default Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Tom <19203795+that-one-tom@users.noreply.github.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Charles Lecalier <charles.lecalier@gmail.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Rhys Williams <me@rhyswilliams.co.za> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Luis Cipriani <37157+lfcipriani@users.noreply.github.com> Co-authored-by: Ketan Somvanshi <ketan.somvanshi@plivo.com> * fix(EmailReadImap Node): Fix issue that crashed process if node was configured wrong (#3079) * :bug: Fix issue that IMAP node can crash n8n * :shirt: Fix lint issue * :arrow_up: Set simple-git@3.5.0 on n8n-nodes-base The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-SIMPLEGIT-2434306 * :shirt: Fix lint issue * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.94.0 * :arrow_up: Set n8n-workflow@0.94.0 on n8n-core * :bookmark: Release n8n-core@0.112.0 * :arrow_up: Set n8n-core@0.112.0 and n8n-workflow@0.94.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.51.0 * :arrow_up: Set n8n-core@0.112.0 and n8n-workflow@0.94.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.169.0 * :arrow_up: Set n8n-workflow@0.94.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.138.0 * :arrow_up: Set n8n-core@0.112.0, n8n-editor-ui@0.138.0, n8n-nodes-base@0.169.0 and n8n-workflow@0.94.0 on n8n * :bookmark: Release n8n@0.171.0 * :books: Update CHANGELOG.md with version 0.171.0 * fix(core): Fix issue with current executions not getting displayed (#3093) * fix(core): Fix issue with falsely skip authorizing (#3087) * fix(WooCommerce Node): Fix pagination issue with "Get All" operation (#2529) * zap(core): Fix issues with n8n version updates that skip multiple versions (#3099) * :bookmark: Release n8n-nodes-base@0.169.1 * :arrow_up: Set n8n-nodes-base@0.169.1 on n8n * :bookmark: Release n8n@0.171.1 * fix(Action Network Node): Fix pagination issue and add credential test (#3011) * fix(Action Network Node): Pagination * Fixed lint issue * Added credential test * :zap: Move credentials verification and injection to the credentials file Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(PayPal Node): Add auth test, fix typo and update API URL (#3084) * Implements PayPal Auth API Test * Deletes unit tests * :rotating_light: Fixed lint issues * Added changes from PR#2568 * Moved methods to above execute Co-authored-by: paolo-rechia <paolo@e-bot7.com> * feat(Magento 2 Node): Add credential tests (#3086) * Implements Magento Auth API Test * Deletes unit tests * Fixed lint issues and changed the URI for the credential test * :zap: Move credential verification to the credential file * :zap: Simplify code Co-authored-by: paolo-rechia <paolo@e-bot7.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :fire: Clear legacy tslint config files (#3103) * :rotating_light: Optimize UM tests (#3066) * :zap: Declutter test logs * :bug: Fix random passwords length * :bug: Fix password hashing in test user creation * :bug: Hash leftover password * :zap: Improve error message for `compare` * :zap: Restore `randomInvalidPassword` contant * :zap: Mock Telemetry module to prevent `--forceExit` * :fire: Remove unused imports * :fire: Remove unused import * :zap: Add util for configuring test SMTP * :zap: Isolate user creation * :fire: De-duplicate `createFullUser` * :zap: Centralize hashing * :fire: Remove superfluous arg * :fire: Remove outdated comment * :zap: Prioritize shared tables during trucation * :test_tube: Add login tests * :zap: Use token helper * :pencil2: Improve naming * :zap: Make `createMemberShell` consistent * :fire: Remove unneeded helper * :fire: De-duplicate `beforeEach` * :pencil2: Improve naming * :truck: Move `categorize` to utils * :pencil2: Update comment * :test_tube: Simplify test * :blue_book: Improve `User.password` type * :zap: Silence logger * :zap: Simplify condition * :zap: Unhash password in payload * :bug: Fix comparison against unhashed password * :zap: Increase timeout for fake SMTP service * :fire: Remove unneeded import * :zap: Use `isNull()` * :test_tube: Use `Promise.all()` in creds tests * :test_tube: Use `Promise.all()` in me tests * :test_tube: Use `Promise.all()` in owner tests * :test_tube: Use `Promise.all()` in password tests * :test_tube: Use `Promise.all()` in users tests * :zap: Re-set cookie if UM disabled * :fire: Remove repeated line * :zap: Refactor out shared owner data * :fire: Remove unneeded import * :fire: Remove repeated lines * :zap: Organize imports * :zap: Reuse helper * :truck: Rename tests to match routers * :truck: Rename `createFullUser()` to `createUser()` * :zap: Consolidate user shell creation * :zap: Make hashing async * :zap: Add email to user shell * :zap: Optimize array building * 🛠 refactor user shell factory * :bug: Fix MySQL tests * :zap: Silence logger in other DBs Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> * :test_tube: Add Node 14 tests to CI (#2779) Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> * :hammer: Infer typings for config schema (#2656) * :truck: Move schema to standalone file * :zap: Add assertions to string literal arrays * :sparkles: Infer typings for convict schema * :fire: Remove unneeded assertions * :hammer: Fix errors surfaced by typings * :zap: Type nodes.include/exclude per docs * :zap: Account for types for exception paths * :zap: Set method alias to flag incorrect paths * :zap: Replace original with alias * :zap: Make allowance for nodes.include * :zap: Adjust leftover calls * :twisted_rightwards_arrows: Fix conflicts * :fire: Remove unneeded castings * :blue_book: Simplify exception path type * :package: Update package-lock.json * :fire: Remove unneeded imports * :fire: Remove unrelated file * :zap: Update schema * :zap: Update interface * :package: Update package-lock.json * :package: Update package-lock.json * :fire: Remove leftover assertions Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :zap: Enable `esModuleInterop` compiler option and upgrade to TypeScript 4.6 (#3106) * :zap: Enable `esModuleInterop` for /core * :zap: Adjust imports in /core * :zap: Enable `esModuleInterop` for /cli * :zap: Adjust imports in /cli * :zap: Enable `esModuleInterop` for /nodes-base * :zap: Adjust imports in /nodes-base * :zap: Make imports consistent * ⬆️ Upgrade TypeScript to 4.6 (#3109) * :arrow_up: Upgrade TypeScript to 4.6 * :package: Update package-lock.json * :wrench: Avoid erroring on untyped errors * :blue_book: Fix type error Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * fix(core): Set correct timezone in luxon (#3115) * :arrow_up: Set moment@2.29.2 on n8n-nodes-base * fix(editor): Fix i18n issues (#3072) * :bug: Fix `defaultLocale` watcher * :zap: Improve error handling for headers * :pencil2: Improve naming * :bug: Fix hiring banner check * :zap: Flatten base text keys * :zap: Fix miscorrected key * :zap: Implement pluralization * :pencil2: Update docs * :truck: Move headers fetching to `App.vue` * fix hiring banner * :zap: Fix missing import * :pencil2: Alphabetize translations * :zap: Switch to async check * feat(editor): Refactor Output Panel + fix i18n issues (#3097) * update main panel * finish up tabs * fix docs link * add icon * update node settings * clean up settings * add rename modal * fix component styles * fix spacing * truncate name * remove mixin * fix spacing * fix spacing * hide docs url * fix bug * fix renaming * refactor tabs out * refactor execute button * refactor header * add more views * fix error view * fix workflow rename bug * rename component * fix small screen bug * move items, fix positions * add hover state * show selector on empty state * add empty run state * fix binary view * 1 item * add vjs styles * show empty row for every item * refactor tabs * add branch names * fix spacing * fix up spacing * add run selector * fix positioning * clean up * increase width of selector * fix up spacing * fix copy button * fix branch naming; type issues * fix docs in custom nodes * add type * hide items when run selector is shown * increase selector size * add select prepend * clean up a bit * Add pagination * add stale icon * enable stale data in execution run * Revert "enable stale data in execution run" 8edb68dbffa0aa0d8189117e1a53381cb2c27608 * move metadata to its own state * fix smaller size * add scroll buttons * update tabs on resize * update stale data on rename * remove metadata on delete * hide x * change title colors * binary data classes * remove duplicate css * add colors * delete unused keys * use event bus * update styles of pagination * fix ts issues * fix ts issues * use chevron icons * fix design with download button * add back to canvas button * add trigger warning disabled * show trigger warning tooltip * update button labels for triggers * update node output message * fix add-option bug * add page selector * fix pagination selector bug * fix executions bug * remove hint * add json colors * add colors for json * add color json keys * fix select options bug * update keys * address comments * update name limit * align pencil * update icon size * update radio buttons height * address comments * fix pencil bug * change buttons alignment * fully center * change order of buttons * add no output message in branch * scroll to top * change active state * fix page size * all items * update expression background * update naming * align pencil * update modal background * add schedule group * update schedule nodes messages * use ellpises for last chars * fix spacing * fix tabs issue * fix too far data bug * fix executions bug * fix table wrapping * fix rename bug * add padding * handle unkown errors * add sticky header * ignore empty input, trim node name * nudge lightness of color * center buttons * update pagination * set colors of title * increase table font, fix alignment * fix pencil bug * fix spacing * use date now * address pagination issues * delete unused keys * update keys sort * fix prepend * fix radio button position * Revert "fix radio button position" ae42781786f2e6dcfb00d1be770b19a67f533bdf Co-authored-by: Mutasem <mutdmour@gmail.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.95.0 * :arrow_up: Set n8n-workflow@0.95.0 on n8n-core * :bookmark: Release n8n-core@0.113.0 * :arrow_up: Set n8n-core@0.113.0 and n8n-workflow@0.95.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.52.0 * :arrow_up: Set n8n-core@0.113.0 and n8n-workflow@0.95.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.170.0 * :bookmark: Release n8n-design-system@0.17.0 * :arrow_up: Set n8n-design-system@0.17.0 and n8n-workflow@0.95.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.139.0 * :arrow_up: Set n8n-core@0.113.0, n8n-editor-ui@0.139.0, n8n-nodes-base@0.170.0 and n8n-workflow@0.95.0 on n8n * :bookmark: Release n8n@0.172.0 * :books: Update CHANGELOG.md with version 0.171.1 and 0.172.0 * :zap: Fix n8n-node-dev publish issue * :zap: Fix credential formatting issues (#3134) * :shirt: Autofix creds lint issues * :shirt: Manually fix creds lint issues * :shirt: Fix indentation * :pencil2: Fix typo * :shirt: Fix indentation * :pencil2: Fix typo * :zap: Add executeWorkflow input-output notice. (#3095) * :zap: Remove non-null assertions for `Db` collections (#3111) * :blue_book: Remove unions to `null` * :zap: Track `Db` initialization state * :fire: Remove non-null assertions * :shirt: Remove lint exceptions * :fire: Remove leftover assertion * feat(Google Cloud Realtime Database Node): Make it possible to select region (#3096) * upstream merge * :hammer: fixed bug, replaced icon with svg, added ability to get whole db object * :hammer: optimization * :hammer: option for region in credentials * :bug: Fix region default * :zap: Remove dot Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * fix(ui): Reset text-edit input value when pressing esc key to have matching input values (#3098) * :zap: Make event on Eventbrite Trigger Node optional (#2829) * Set `event` property as optional * Add some parameter descriptions To please nodelinter, mostly. * Fix UI complaining about missing parameter. * :rotating_light: Fixed lint isssues * :zap: Improvements Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * fix(Zoho Node): Fix pagination issue (#3129) * fix(editor): Fix breaking Drop-downs after removing expressions (#3094) * :bug: Fixed multiOption parameter input dropdown values after removing expression. * :recycle: Moved array value normalization to removeExpression action. * :bug: Handled scenario where expression contained invalid value. * :art: Centralize error throwing for encryption keys and credentials (#3105) * Centralized error throwing for encryption key * Unifying the error message used by cli and core packages * Improvements to error messages to make it more DRY * Removed unnecessary throw * Throwing error when credential does not exist to simplify node behavior (#3112) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * fix(core): Make email for UM case insensitive (#3078) * 🚧 lowercasing email * ✅ add tests for case insensitive email * 🐘 add migration to lowercase email * 🚚 rename migration * 🐛 fix package.lock * :bug: fix double import * 📋 add todo * :zap: Add autocompletion for i18n keys in script sections of Vue files (#3133) * :blue_book: Type `baseText()` to i18n keys * :blue_book: Adjust `baseText()` signature * :shirt: Except JSON files from Vue ESLint * :bug: Fix errors surfaced by `baseText()` typing * :zap: Pluralize keys * :blue_book: Add typing for category names * :zap: Mark internal keys * :pencil2: Update docs references * :art: Prettify syntax * :bug: Fix leftover internal key references * feat(Discord Node): Add additional options (#2918) * 🔖 Discord Node v2.0 * Updated image from png to svg * Added correct versioning * Added old for versioning purposes * Added other parameter for the url * Fixed subtitle added multipart option for payload * Removed unused imports * Changed data type for binary file * Removed console.log * Moved the additional fields to an option field + fixed some bugs * Refactored node into one version * Removed any type * Fixed some broken behaviour * Minor fixes for discord node * :zap: Fix parameter name Co-authored-by: Timeraa <me@timeraa.dev> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * feat(PagerDuty Node): Add support for additional details in incidents (#3140) * feat(PagerDuty node): add support for additional details for the incident * fix(editor): Fix breaking Drop-downs after removing expressions (#3094) * :bug: Fixed multiOption parameter input dropdown values after removing expression. * :recycle: Moved array value normalization to removeExpression action. * :bug: Handled scenario where expression contained invalid value. * :art: Centralize error throwing for encryption keys and credentials (#3105) * Centralized error throwing for encryption key * Unifying the error message used by cli and core packages * Improvements to error messages to make it more DRY * Removed unnecessary throw * Throwing error when credential does not exist to simplify node behavior (#3112) Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * fix(core): Make email for UM case insensitive (#3078) * 🚧 lowercasing email * ✅ add tests for case insensitive email * 🐘 add migration to lowercase email * 🚚 rename migration * 🐛 fix package.lock * :bug: fix double import * 📋 add todo * :zap: Add autocompletion for i18n keys in script sections of Vue files (#3133) * :blue_book: Type `baseText()` to i18n keys * :blue_book: Adjust `baseText()` signature * :shirt: Except JSON files from Vue ESLint * :bug: Fix errors surfaced by `baseText()` typing * :zap: Pluralize keys * :blue_book: Add typing for category names * :zap: Mark internal keys * :pencil2: Update docs references * :art: Prettify syntax * :bug: Fix leftover internal key references * feat(Discord Node): Add additional options (#2918) * 🔖 Discord Node v2.0 * Updated image from png to svg * Added correct versioning * Added old for versioning purposes * Added other parameter for the url * Fixed subtitle added multipart option for payload * Removed unused imports * Changed data type for binary file * Removed console.log * Moved the additional fields to an option field + fixed some bugs * Refactored node into one version * Removed any type * Fixed some broken behaviour * Minor fixes for discord node * :zap: Fix parameter name Co-authored-by: Timeraa <me@timeraa.dev> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :zap: Move order and fix displayName and description Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Timeraa <me@timeraa.dev> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :shirt: Fix lint issue * fix(ZendeskTrigger Node): Fix deprecated targets, replaced with webhooks (#3025) * :hammer: fix for deprecated targets * :zap: Move crendentials injection to the credential file Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(GoogleBigQuery Node): Add support for service account authentication (#3128) * :zap: Enable service account authentication with the BigQuery node * :hammer: fixed auth issue with key, fixed nodelinter issues * :zap: added continue on fail * :zap: Improvements Co-authored-by: Mark Steve Samson <marksteve@thinkingmachin.es> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * fix(core): Add "rawBody" also for xml requests (#3143) * :shirt: Fix lint issue * fix(Discourse Node): Fix issue with not all posts getting returned and add credential test (#3007) * :hammer: fix for not all posts returning * :zap: added credential test * :zap: Improvements * :zap: Improvements * :zap: Define test the new way * :zap: Remove not needed imports * :zap: Fix auth test problem Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :arrow_up: Update package-lock.json file * feat(Markdown Node): Add new node to covert between Markdown <> HTML (#1728) * :sparkles: Markdown Node * Tweaked wording * :arrow_up: Bump showdown to latest version * :zap: Small improvement * :shirt: Fix linting issue * :zap: Small improvements * :hammer: added options, added continue on fail, some clean up * :zap: removed test code * :zap: added missing semicolumn * :hammer: wip * :hammer: replaced library for converting html to markdown, added options * :zap: lock file fix * :hammer: clean up Co-authored-by: sirdavidoff <1670123+sirdavidoff@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> * fix(Postgres Node): Fix issue with columns containing spaces (#2989) * :hammer: fixed error when column name containes spaces * :zap: added lock fille to commit * :hammer: fix for column names wraped in square braces * :hammer: added lock file * :hammer: fix for update key not included in update columns * :zap: Revert imports Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :bug: Update initialization checks (#3147) * feat(editor): Add drag and drop from nodes panel (#3123) * :sparkles: Added support for drag and drop from nodes main panel. :sparkles: Added node draggable placeholder. * :sparkles: Added snapping to grid. Changed how draggable ghost follows the cursor. * :lipstick: Changed node drag anchor position to be centered. * :sparkles: Added drag and drop animation. Added event cancellation when dropping node on main panel. * :recycle: Simplified drag and drop code and cleaned up prop-drilling. * :bug: Added check for nodeTypeName in dataTransfer when draging and dropping nodes. * :bug: Ensured MS Edge compatibility. MS edge does not send datatransfer in ondragover event. Co-authored-by: Mutasem <mutdmour@gmail.com> * feat(Slack Node): Add blocks to slack message update (#2182) * Adding blocks to slack message update * Fixing lint * Adding blocks to slack message update * Fixing lint * :zap: added toggle to display json inputs in update operation * :zap: Improvements * feat(Markdown Node): Add new node to covert between Markdown <> HTML (#1728) * :sparkles: Markdown Node * Tweaked wording * :arrow_up: Bump showdown to latest version * :zap: Small improvement * :shirt: Fix linting issue * :zap: Small improvements * :hammer: added options, added continue on fail, some clean up * :zap: removed test code * :zap: added missing semicolumn * :hammer: wip * :hammer: replaced library for converting html to markdown, added options * :zap: lock file fix * :hammer: clean up Co-authored-by: sirdavidoff <1670123+sirdavidoff@users.noreply.github.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: ricardo <ricardoespinoza105@gmail.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: sirdavidoff <1670123+sirdavidoff@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * :arrow_up: Update package-lock.json file * :bookmark: Release n8n-workflow@0.96.0 * :arrow_up: Set n8n-workflow@0.96.0 on n8n-core * :bookmark: Release n8n-core@0.114.0 * :arrow_up: Set n8n-core@0.114.0 and n8n-workflow@0.96.0 on n8n-node-dev * :bookmark: Release n8n-node-dev@0.53.0 * :arrow_up: Set n8n-core@0.114.0 and n8n-workflow@0.96.0 on n8n-nodes-base * :bookmark: Release n8n-nodes-base@0.171.0 * :arrow_up: Set n8n-workflow@0.96.0 on n8n-editor-ui * :bookmark: Release n8n-editor-ui@0.140.0 * :arrow_up: Set n8n-core@0.114.0, n8n-editor-ui@0.140.0, n8n-nodes-base@0.171.0 and n8n-workflow@0.96.0 on n8n * :bookmark: Release n8n@0.173.0 * :books: Update CHANGELOG.md with version 0.173.0 * :zap: Fix discord icon name * :bookmark: Release n8n-nodes-base@0.171.1 * :arrow_up: Set n8n-nodes-base@0.171.1 on n8n * :bookmark: Release n8n@0.173.1 * :books: Update CHANGELOG.md with version 0.173.1 * :zap: Update Calendly Logo (#2528) Calendly has a new logo, updated the logo from the media kit: https://calendly.com/newsroom * test(core): Implement timeout in SMTP tests (#3152) * :zap: Implement timeout in SMTP tests * :truck: Move timeout to constants * fix(QuickBooks Node) Fix pagination (#3169) * Fixed pagination issue * Removed unused import * fix(Slack Node): Fix credential test (#3151) * feat(All AWS Nodes): Enable support for AWS temporary credentials (#2587) * Enable support for AWS temporary credentials * :hammer: removed toggle from ui added sessionToken to other aws services that using sign function from aws4 module * Update sign method for other AWS nodes * Remove the unneeded additional `temporaryCredentials` checkbox * Update description for session token * :zap: added missing session token to credentials test * Update sign method for DynamoDB * :hammer: added back toggle for hiding session token, fixed linter errors * :zap: wording fix Co-authored-by: Michael Kret <michael.k@radency.com> * :zap: Removed unnecessary import and fixed option order Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: nivb06 <99671629+nivb06@users.noreply.github.com> Co-authored-by: Niv <nivbelleli@gmail.com> Co-authored-by: Tom <19203795+that-one-tom@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: Jan Oberhauser <janober@users.noreply.github.com> Co-authored-by: Sergio <sergio@sergioguzman.com> Co-authored-by: Valentin Mocanu <mrvali97@gmail.com> Co-authored-by: Jasper Zonneveld <JaZo@users.noreply.github.com> Co-authored-by: Fred <f.choudat@gmail.com> Co-authored-by: Deborah <deborah@starfallprojects.co.uk> Co-authored-by: TheFSilver <40010470+TheFSilver@users.noreply.github.com> Co-authored-by: Ricardo Espinoza <ricardoespinoza105@gmail.com> Co-authored-by: pemontto <939704+pemontto@users.noreply.github.com> Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: Yassine Fathi <hi@m4tt72.com> Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Charles Lecalier <charles.lecalier@gmail.com> Co-authored-by: Rhys Williams <me@rhyswilliams.co.za> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Luis Cipriani <37157+lfcipriani@users.noreply.github.com> Co-authored-by: Ketan Somvanshi <ketan.somvanshi@plivo.com> Co-authored-by: Snyk bot <snyk-bot@snyk.io> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: paolo-rechia <paolo@e-bot7.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Mutasem <mutdmour@gmail.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: Alex Grozav <alex@grozav.com> Co-authored-by: Francesco Pongiluppi <pongi@pongi.it> Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com> Co-authored-by: Timeraa <me@timeraa.dev> Co-authored-by: Andrey Sinitsyn <andrey.sin98@gmail.com> Co-authored-by: Mark Steve Samson <marksteve@thinkingmachin.es> Co-authored-by: sirdavidoff <1670123+sirdavidoff@users.noreply.github.com> Co-authored-by: Mike Quinlan <mquinlan@gigsmart.com> Co-authored-by: Cody Stamps <cody.stamps@hey.com> Co-authored-by: Basit Ali <basitalimundia@gmail.com>
2022-04-22 07:44:23 -07:00
export function handleDateFieldsWithDotNotation(insertItems: IDataObject[], fields: string) {
const dateFields = fields.split(',').map(field => field.trim());
for (let i = 0; i < insertItems.length; i++) {
for (const field of dateFields) {
const fieldValue = get(insertItems[i], field) as string;
const date = new Date(fieldValue);
if (fieldValue && !isNaN(date.valueOf())) {
set(insertItems[i], field, date);
}
}
}
}