mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-26 21:19:43 -08:00
83998a15b0
* Parse Dates using Dot Notation * ⚡ fixed types issues that prevent brunch from building, fixed nodelinter issues * 🔨 hint for date fields * 🔨 fixed bug with only one field converted to date * 🔨 added toggle for access date fields with dot notation * ⚡ 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> * ⚡ Add KoBoToolbox and Linear codex files (#3040) KoBoToolbox KoBoToolbox Trigger Linear Co-authored-by: Niv <nivbelleli@gmail.com> * 📚 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. * 📚 Add also to other files Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * fix(AWS Lambda Node): Fix "Invocation Type" > "Continue Workflow" (#3010) * 🔨 fix for running in continue workflow * ⚡ Minor simplification Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * 📚 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) * ⚡ Fix credentials import success message (#3038) * 📚 Add missing full stop to license text (#3028) Adding "." L15. In addition, the markdown display don't show line break as in the editor. * 📚 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) * 🐛 Fix issue when sending Organization ID - Xero node * 👕 Fix linting issue * feat(Crypto Node): Add Generate operation to generate random values (#2541) * ✨ Add generate action to crypto node * ⚡ small fixes, nodelinter issues fixes * ⚡ Improvements * ⚡ 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 * ⚡ 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 * ⚡ 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" * 🔖 Release n8n-workflow@0.93.0 * ⬆️ Set n8n-workflow@0.93.0 on n8n-core * 🔖 Release n8n-core@0.111.0 * ⬆️ Set n8n-core@0.111.0 and n8n-workflow@0.93.0 on n8n-node-dev * 🔖 Release n8n-node-dev@0.50.0 * ⬆️ Set n8n-core@0.111.0 and n8n-workflow@0.93.0 on n8n-nodes-base * 🔖 Release n8n-nodes-base@0.168.0 * 🔖 Release n8n-design-system@0.16.0 * ⬆️ Set n8n-design-system@0.16.0 and n8n-workflow@0.93.0 on n8n-editor-ui * 🔖 Release n8n-editor-ui@0.137.0 * ⬆️ 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 * 🔖 Release n8n@0.170.0 * ⬆️ Update package-lock.json file * 📚 Update CHANGELOG.md with version 0.170.0 * feat(editor): Add download button for binary data (#2992) * ✨ Make it possible to download binary data * ⚡ Fix lint issues and add support for filesystem mode * ⚡ Design adjustment * ⚡ 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 * ⚡ 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 * ⚡ fixed nodelinter issues, added credential test, replaced icon * ⚡ 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 * ⚡ small ui fixes, added credential test, fixed nodelinter issues * ⚡ Improvements * ⚡ 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 * ⚡ 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 * ⚡ fixed nodelinter issues, added credential test, replaced icon * ⚡ Improvements Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> * ⚡ 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 * ⚡ graphql node will throw error when response has errors property * 🔨 updated changelog * ⚡ Improvements * ⚡ Improvements * ⚡ 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 * ⚡ Improvement * ⚡ 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 * ⚡ 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) * ⚡ Declutter test logs * 🐛 Fix random passwords length * 🐛 Fix password hashing in test user creation * 🐛 Hash leftover password * ⚡ Improve error message for `compare` * ⚡ Restore `randomInvalidPassword` contant * ⚡ Mock Telemetry module to prevent `--forceExit` * ⚡ Silence logger * ⚡ Simplify condition * ⚡ 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 * 🐛 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 * ⚡ 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 * ⚡ 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 * ⚡ fixed nodelinter issues, added credential test, replaced icon * ⚡ 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 * ⚡ small ui fixes, added credential test, fixed nodelinter issues * ⚡ Improvements * ⚡ 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 * ⚡ 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 * ⚡ fixed nodelinter issues, added credential test, replaced icon * ⚡ Improvements Co-authored-by: d3no <d3no520@gmail.com> Co-authored-by: Michael Kret <michael.k@radency.com> * ⚡ 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 nodelinter issues, added hint to field option * fix(GraphQL Node)!: Correctly report errors returned by the API (#3071) * upstream merge * ⚡ graphql node will throw error when response has errors property * 🔨 updated changelog * ⚡ Improvements * ⚡ Improvements * ⚡ 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 * ⚡ Improvement * ⚡ 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 * ⚡ 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) * ⚡ Declutter test logs * 🐛 Fix random passwords length * 🐛 Fix password hashing in test user creation * 🐛 Hash leftover password * ⚡ Improve error message for `compare` * ⚡ Restore `randomInvalidPassword` contant * ⚡ Mock Telemetry module to prevent `--forceExit` * ⚡ Silence logger * ⚡ Simplify condition * ⚡ 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> * ⚡ 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 * 🐛 Fix issue with package-lock.json Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * 🐛 Fix issue with credentials * ⚡ Fix basicAuth * ⚡ 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) * 🐛 Fix issue that IMAP node can crash n8n * 👕 Fix lint issue * ⬆️ 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 * 👕 Fix lint issue * ⬆️ Update package-lock.json file * 🔖 Release n8n-workflow@0.94.0 * ⬆️ Set n8n-workflow@0.94.0 on n8n-core * 🔖 Release n8n-core@0.112.0 * ⬆️ Set n8n-core@0.112.0 and n8n-workflow@0.94.0 on n8n-node-dev * 🔖 Release n8n-node-dev@0.51.0 * ⬆️ Set n8n-core@0.112.0 and n8n-workflow@0.94.0 on n8n-nodes-base * 🔖 Release n8n-nodes-base@0.169.0 * ⬆️ Set n8n-workflow@0.94.0 on n8n-editor-ui * 🔖 Release n8n-editor-ui@0.138.0 * ⬆️ 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 * 🔖 Release n8n@0.171.0 * 📚 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) * 🔖 Release n8n-nodes-base@0.169.1 * ⬆️ Set n8n-nodes-base@0.169.1 on n8n * 🔖 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 * ⚡ 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 * 🚨 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 * ⚡ Move credential verification to the credential file * ⚡ 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> * 🔥 Clear legacy tslint config files (#3103) * 🚨 Optimize UM tests (#3066) * ⚡ Declutter test logs * 🐛 Fix random passwords length * 🐛 Fix password hashing in test user creation * 🐛 Hash leftover password * ⚡ Improve error message for `compare` * ⚡ Restore `randomInvalidPassword` contant * ⚡ Mock Telemetry module to prevent `--forceExit` * 🔥 Remove unused imports * 🔥 Remove unused import * ⚡ Add util for configuring test SMTP * ⚡ Isolate user creation * 🔥 De-duplicate `createFullUser` * ⚡ Centralize hashing * 🔥 Remove superfluous arg * 🔥 Remove outdated comment * ⚡ Prioritize shared tables during trucation * 🧪 Add login tests * ⚡ Use token helper * ✏️ Improve naming * ⚡ Make `createMemberShell` consistent * 🔥 Remove unneeded helper * 🔥 De-duplicate `beforeEach` * ✏️ Improve naming * 🚚 Move `categorize` to utils * ✏️ Update comment * 🧪 Simplify test * 📘 Improve `User.password` type * ⚡ Silence logger * ⚡ Simplify condition * ⚡ Unhash password in payload * 🐛 Fix comparison against unhashed password * ⚡ Increase timeout for fake SMTP service * 🔥 Remove unneeded import * ⚡ Use `isNull()` * 🧪 Use `Promise.all()` in creds tests * 🧪 Use `Promise.all()` in me tests * 🧪 Use `Promise.all()` in owner tests * 🧪 Use `Promise.all()` in password tests * 🧪 Use `Promise.all()` in users tests * ⚡ Re-set cookie if UM disabled * 🔥 Remove repeated line * ⚡ Refactor out shared owner data * 🔥 Remove unneeded import * 🔥 Remove repeated lines * ⚡ Organize imports * ⚡ Reuse helper * 🚚 Rename tests to match routers * 🚚 Rename `createFullUser()` to `createUser()` * ⚡ Consolidate user shell creation * ⚡ Make hashing async * ⚡ Add email to user shell * ⚡ Optimize array building * 🛠 refactor user shell factory * 🐛 Fix MySQL tests * ⚡ Silence logger in other DBs Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> * 🧪 Add Node 14 tests to CI (#2779) Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> * 🔨 Infer typings for config schema (#2656) * 🚚 Move schema to standalone file * ⚡ Add assertions to string literal arrays * ✨ Infer typings for convict schema * 🔥 Remove unneeded assertions * 🔨 Fix errors surfaced by typings * ⚡ Type nodes.include/exclude per docs * ⚡ Account for types for exception paths * ⚡ Set method alias to flag incorrect paths * ⚡ Replace original with alias * ⚡ Make allowance for nodes.include * ⚡ Adjust leftover calls * 🔀 Fix conflicts * 🔥 Remove unneeded castings * 📘 Simplify exception path type * 📦 Update package-lock.json * 🔥 Remove unneeded imports * 🔥 Remove unrelated file * ⚡ Update schema * ⚡ Update interface * 📦 Update package-lock.json * 📦 Update package-lock.json * 🔥 Remove leftover assertions Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * ⚡ Enable `esModuleInterop` compiler option and upgrade to TypeScript 4.6 (#3106) * ⚡ Enable `esModuleInterop` for /core * ⚡ Adjust imports in /core * ⚡ Enable `esModuleInterop` for /cli * ⚡ Adjust imports in /cli * ⚡ Enable `esModuleInterop` for /nodes-base * ⚡ Adjust imports in /nodes-base * ⚡ Make imports consistent * ⬆️ Upgrade TypeScript to 4.6 (#3109) * ⬆️ Upgrade TypeScript to 4.6 * 📦 Update package-lock.json * 🔧 Avoid erroring on untyped errors * 📘 Fix type error Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * fix(core): Set correct timezone in luxon (#3115) * ⬆️ Set moment@2.29.2 on n8n-nodes-base * fix(editor): Fix i18n issues (#3072) * 🐛 Fix `defaultLocale` watcher * ⚡ Improve error handling for headers * ✏️ Improve naming * 🐛 Fix hiring banner check * ⚡ Flatten base text keys * ⚡ Fix miscorrected key * ⚡ Implement pluralization * ✏️ Update docs * 🚚 Move headers fetching to `App.vue` * fix hiring banner * ⚡ Fix missing import * ✏️ Alphabetize translations * ⚡ 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"8edb68dbff
* 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"ae42781786
Co-authored-by: Mutasem <mutdmour@gmail.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> * ⬆️ Update package-lock.json file * 🔖 Release n8n-workflow@0.95.0 * ⬆️ Set n8n-workflow@0.95.0 on n8n-core * 🔖 Release n8n-core@0.113.0 * ⬆️ Set n8n-core@0.113.0 and n8n-workflow@0.95.0 on n8n-node-dev * 🔖 Release n8n-node-dev@0.52.0 * ⬆️ Set n8n-core@0.113.0 and n8n-workflow@0.95.0 on n8n-nodes-base * 🔖 Release n8n-nodes-base@0.170.0 * 🔖 Release n8n-design-system@0.17.0 * ⬆️ Set n8n-design-system@0.17.0 and n8n-workflow@0.95.0 on n8n-editor-ui * 🔖 Release n8n-editor-ui@0.139.0 * ⬆️ 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 * 🔖 Release n8n@0.172.0 * 📚 Update CHANGELOG.md with version 0.171.1 and 0.172.0 * ⚡ Fix n8n-node-dev publish issue * ⚡ Fix credential formatting issues (#3134) * 👕 Autofix creds lint issues * 👕 Manually fix creds lint issues * 👕 Fix indentation * ✏️ Fix typo * 👕 Fix indentation * ✏️ Fix typo * ⚡ Add executeWorkflow input-output notice. (#3095) * ⚡ Remove non-null assertions for `Db` collections (#3111) * 📘 Remove unions to `null` * ⚡ Track `Db` initialization state * 🔥 Remove non-null assertions * 👕 Remove lint exceptions * 🔥 Remove leftover assertion * feat(Google Cloud Realtime Database Node): Make it possible to select region (#3096) * upstream merge * 🔨 fixed bug, replaced icon with svg, added ability to get whole db object * 🔨 optimization * 🔨 option for region in credentials * 🐛 Fix region default * ⚡ 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) * ⚡ 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. * 🚨 Fixed lint isssues * ⚡ 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) * 🐛 Fixed multiOption parameter input dropdown values after removing expression. * ♻️ Moved array value normalization to removeExpression action. * 🐛 Handled scenario where expression contained invalid value. * 🎨 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 * 🐛 fix double import * 📋 add todo * ⚡ Add autocompletion for i18n keys in script sections of Vue files (#3133) * 📘 Type `baseText()` to i18n keys * 📘 Adjust `baseText()` signature * 👕 Except JSON files from Vue ESLint * 🐛 Fix errors surfaced by `baseText()` typing * ⚡ Pluralize keys * 📘 Add typing for category names * ⚡ Mark internal keys * ✏️ Update docs references * 🎨 Prettify syntax * 🐛 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 * ⚡ 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) * 🐛 Fixed multiOption parameter input dropdown values after removing expression. * ♻️ Moved array value normalization to removeExpression action. * 🐛 Handled scenario where expression contained invalid value. * 🎨 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 * 🐛 fix double import * 📋 add todo * ⚡ Add autocompletion for i18n keys in script sections of Vue files (#3133) * 📘 Type `baseText()` to i18n keys * 📘 Adjust `baseText()` signature * 👕 Except JSON files from Vue ESLint * 🐛 Fix errors surfaced by `baseText()` typing * ⚡ Pluralize keys * 📘 Add typing for category names * ⚡ Mark internal keys * ✏️ Update docs references * 🎨 Prettify syntax * 🐛 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 * ⚡ 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> * ⚡ 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> * 👕 Fix lint issue * fix(ZendeskTrigger Node): Fix deprecated targets, replaced with webhooks (#3025) * 🔨 fix for deprecated targets * ⚡ Move crendentials injection to the credential file Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * feat(GoogleBigQuery Node): Add support for service account authentication (#3128) * ⚡ Enable service account authentication with the BigQuery node * 🔨 fixed auth issue with key, fixed nodelinter issues * ⚡ added continue on fail * ⚡ 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) * 👕 Fix lint issue * fix(Discourse Node): Fix issue with not all posts getting returned and add credential test (#3007) * 🔨 fix for not all posts returning * ⚡ added credential test * ⚡ Improvements * ⚡ Improvements * ⚡ Define test the new way * ⚡ Remove not needed imports * ⚡ 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> * ⬆️ Update package-lock.json file * feat(Markdown Node): Add new node to covert between Markdown <> HTML (#1728) * ✨ Markdown Node * Tweaked wording * ⬆️ Bump showdown to latest version * ⚡ Small improvement * 👕 Fix linting issue * ⚡ Small improvements * 🔨 added options, added continue on fail, some clean up * ⚡ removed test code * ⚡ added missing semicolumn * 🔨 wip * 🔨 replaced library for converting html to markdown, added options * ⚡ lock file fix * 🔨 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) * 🔨 fixed error when column name containes spaces * ⚡ added lock fille to commit * 🔨 fix for column names wraped in square braces * 🔨 added lock file * 🔨 fix for update key not included in update columns * ⚡ Revert imports Co-authored-by: Ricardo Espinoza <ricardo@n8n.io> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com> * 🐛 Update initialization checks (#3147) * feat(editor): Add drag and drop from nodes panel (#3123) * ✨ Added support for drag and drop from nodes main panel. ✨ Added node draggable placeholder. * ✨ Added snapping to grid. Changed how draggable ghost follows the cursor. * 💄 Changed node drag anchor position to be centered. * ✨ Added drag and drop animation. Added event cancellation when dropping node on main panel. * ♻️ Simplified drag and drop code and cleaned up prop-drilling. * 🐛 Added check for nodeTypeName in dataTransfer when draging and dropping nodes. * 🐛 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 * ⚡ added toggle to display json inputs in update operation * ⚡ Improvements * feat(Markdown Node): Add new node to covert between Markdown <> HTML (#1728) * ✨ Markdown Node * Tweaked wording * ⬆️ Bump showdown to latest version * ⚡ Small improvement * 👕 Fix linting issue * ⚡ Small improvements * 🔨 added options, added continue on fail, some clean up * ⚡ removed test code * ⚡ added missing semicolumn * 🔨 wip * 🔨 replaced library for converting html to markdown, added options * ⚡ lock file fix * 🔨 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> * ⬆️ Update package-lock.json file * 🔖 Release n8n-workflow@0.96.0 * ⬆️ Set n8n-workflow@0.96.0 on n8n-core * 🔖 Release n8n-core@0.114.0 * ⬆️ Set n8n-core@0.114.0 and n8n-workflow@0.96.0 on n8n-node-dev * 🔖 Release n8n-node-dev@0.53.0 * ⬆️ Set n8n-core@0.114.0 and n8n-workflow@0.96.0 on n8n-nodes-base * 🔖 Release n8n-nodes-base@0.171.0 * ⬆️ Set n8n-workflow@0.96.0 on n8n-editor-ui * 🔖 Release n8n-editor-ui@0.140.0 * ⬆️ 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 * 🔖 Release n8n@0.173.0 * 📚 Update CHANGELOG.md with version 0.173.0 * ⚡ Fix discord icon name * 🔖 Release n8n-nodes-base@0.171.1 * ⬆️ Set n8n-nodes-base@0.171.1 on n8n * 🔖 Release n8n@0.173.1 * 📚 Update CHANGELOG.md with version 0.173.1 * ⚡ 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) * ⚡ Implement timeout in SMTP tests * 🚚 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 * 🔨 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 * ⚡ added missing session token to credentials test * Update sign method for DynamoDB * 🔨 added back toggle for hiding session token, fixed linter errors * ⚡ wording fix Co-authored-by: Michael Kret <michael.k@radency.com> * ⚡ 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>
242 lines
7 KiB
TypeScript
242 lines
7 KiB
TypeScript
import {
|
|
IExecuteFunctions,
|
|
} from 'n8n-core';
|
|
|
|
import {
|
|
IDataObject,
|
|
INodeExecutionData,
|
|
INodeType,
|
|
INodeTypeDescription,
|
|
JsonObject,
|
|
NodeOperationError
|
|
} from 'n8n-workflow';
|
|
|
|
import {
|
|
nodeDescription,
|
|
} from './mongo.node.options';
|
|
|
|
import {
|
|
MongoClient,
|
|
ObjectID,
|
|
} from 'mongodb';
|
|
|
|
import {
|
|
getItemCopy,
|
|
handleDateFields,
|
|
handleDateFieldsWithDotNotation,
|
|
validateAndResolveMongoCredentials
|
|
} from './mongo.node.utils';
|
|
|
|
export class MongoDb implements INodeType {
|
|
description: INodeTypeDescription = nodeDescription;
|
|
|
|
async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
|
|
const { database, connectionString } = validateAndResolveMongoCredentials(
|
|
this,
|
|
await this.getCredentials('mongoDb'),
|
|
);
|
|
|
|
const client: MongoClient = await MongoClient.connect(connectionString, {
|
|
useNewUrlParser: true,
|
|
useUnifiedTopology: true,
|
|
});
|
|
|
|
const mdb = client.db(database as string);
|
|
|
|
let returnItems = [];
|
|
|
|
const items = this.getInputData();
|
|
const operation = this.getNodeParameter('operation', 0) as string;
|
|
|
|
if (operation === 'aggregate') {
|
|
// ----------------------------------
|
|
// aggregate
|
|
// ----------------------------------
|
|
|
|
try {
|
|
const queryParameter = JSON.parse(this.getNodeParameter('query', 0) as string);
|
|
|
|
if (queryParameter._id && typeof queryParameter._id === 'string') {
|
|
queryParameter._id = new ObjectID(queryParameter._id);
|
|
}
|
|
|
|
const query = mdb
|
|
.collection(this.getNodeParameter('collection', 0) as string)
|
|
.aggregate(queryParameter);
|
|
|
|
const queryResult = await query.toArray();
|
|
|
|
returnItems = this.helpers.returnJsonArray(queryResult as IDataObject[]);
|
|
} catch (error) {
|
|
if (this.continueOnFail()) {
|
|
returnItems = this.helpers.returnJsonArray({ error: (error as JsonObject).message } );
|
|
} else {
|
|
throw error;
|
|
}
|
|
}
|
|
} else if (operation === 'delete') {
|
|
// ----------------------------------
|
|
// delete
|
|
// ----------------------------------
|
|
|
|
try {
|
|
const { deletedCount } = await mdb
|
|
.collection(this.getNodeParameter('collection', 0) as string)
|
|
.deleteMany(JSON.parse(this.getNodeParameter('query', 0) as string));
|
|
|
|
returnItems = this.helpers.returnJsonArray([{ deletedCount }]);
|
|
} catch (error) {
|
|
if (this.continueOnFail()) {
|
|
returnItems = this.helpers.returnJsonArray({ error: (error as JsonObject).message });
|
|
} else {
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
} else if (operation === 'find') {
|
|
// ----------------------------------
|
|
// find
|
|
// ----------------------------------
|
|
|
|
try {
|
|
const queryParameter = JSON.parse(this.getNodeParameter('query', 0) as string);
|
|
|
|
if (queryParameter._id && typeof queryParameter._id === 'string') {
|
|
queryParameter._id = new ObjectID(queryParameter._id);
|
|
}
|
|
|
|
let query = mdb
|
|
.collection(this.getNodeParameter('collection', 0) as string)
|
|
.find(queryParameter);
|
|
|
|
const options = this.getNodeParameter('options', 0) as IDataObject;
|
|
const limit = options.limit as number;
|
|
const skip = options.skip as number;
|
|
const sort = options.sort && JSON.parse(options.sort as string);
|
|
if (skip > 0) {
|
|
query = query.skip(skip);
|
|
}
|
|
if (limit > 0) {
|
|
query = query.limit(limit);
|
|
}
|
|
if (sort && Object.keys(sort).length !== 0 && sort.constructor === Object) {
|
|
query = query.sort(sort);
|
|
}
|
|
const queryResult = await query.toArray();
|
|
|
|
returnItems = this.helpers.returnJsonArray(queryResult as IDataObject[]);
|
|
} catch (error) {
|
|
if (this.continueOnFail()) {
|
|
returnItems = this.helpers.returnJsonArray({ error: (error as JsonObject).message } );
|
|
} else {
|
|
throw error;
|
|
}
|
|
}
|
|
} else if (operation === 'insert') {
|
|
// ----------------------------------
|
|
// insert
|
|
// ----------------------------------
|
|
try {
|
|
// Prepare the data to insert and copy it to be returned
|
|
const fields = (this.getNodeParameter('fields', 0) as string)
|
|
.split(',')
|
|
.map(f => f.trim())
|
|
.filter(f => !!f);
|
|
|
|
const options = this.getNodeParameter('options', 0) as IDataObject;
|
|
const insertItems = getItemCopy(items, fields);
|
|
|
|
if (options.dateFields && !options.useDotNotation) {
|
|
handleDateFields(insertItems, options.dateFields as string);
|
|
} else if (options.dateFields && options.useDotNotation) {
|
|
handleDateFieldsWithDotNotation(insertItems, options.dateFields as string);
|
|
}
|
|
|
|
const { insertedIds } = await mdb
|
|
.collection(this.getNodeParameter('collection', 0) as string)
|
|
.insertMany(insertItems);
|
|
|
|
// Add the id to the data
|
|
for (const i of Object.keys(insertedIds)) {
|
|
returnItems.push({
|
|
json: {
|
|
...insertItems[parseInt(i, 10)],
|
|
id: insertedIds[parseInt(i, 10)] as string,
|
|
},
|
|
});
|
|
}
|
|
} catch (error) {
|
|
if (this.continueOnFail()) {
|
|
returnItems = this.helpers.returnJsonArray({ error: (error as JsonObject).message });
|
|
} else {
|
|
throw error;
|
|
}
|
|
}
|
|
} else if (operation === 'update') {
|
|
// ----------------------------------
|
|
// update
|
|
// ----------------------------------
|
|
|
|
const fields = (this.getNodeParameter('fields', 0) as string)
|
|
.split(',')
|
|
.map(f => f.trim())
|
|
.filter(f => !!f);
|
|
|
|
const options = this.getNodeParameter('options', 0) as IDataObject;
|
|
|
|
let updateKey = this.getNodeParameter('updateKey', 0) as string;
|
|
updateKey = updateKey.trim();
|
|
|
|
const updateOptions = (this.getNodeParameter('upsert', 0) as boolean)
|
|
? { upsert: true } : undefined;
|
|
|
|
if (!fields.includes(updateKey)) {
|
|
fields.push(updateKey);
|
|
}
|
|
|
|
// Prepare the data to update and copy it to be returned
|
|
const updateItems = getItemCopy(items, fields);
|
|
|
|
if (options.dateFields && !options.useDotNotation) {
|
|
handleDateFields(updateItems, options.dateFields as string);
|
|
} else if (options.dateFields && options.useDotNotation) {
|
|
handleDateFieldsWithDotNotation(updateItems, options.dateFields as string);
|
|
}
|
|
|
|
for (const item of updateItems) {
|
|
try {
|
|
if (item[updateKey] === undefined) {
|
|
continue;
|
|
}
|
|
|
|
const filter: { [key: string]: string | ObjectID } = {};
|
|
filter[updateKey] = item[updateKey] as string;
|
|
if (updateKey === '_id') {
|
|
filter[updateKey] = new ObjectID(filter[updateKey]);
|
|
delete item['_id'];
|
|
}
|
|
await mdb
|
|
.collection(this.getNodeParameter('collection', 0) as string)
|
|
.updateOne(filter, { $set: item }, updateOptions);
|
|
} catch (error) {
|
|
if (this.continueOnFail()) {
|
|
item.json = { error: (error as JsonObject).message };
|
|
continue;
|
|
}
|
|
throw error;
|
|
}
|
|
}
|
|
returnItems = this.helpers.returnJsonArray(updateItems as IDataObject[]);
|
|
} else {
|
|
if (this.continueOnFail()) {
|
|
returnItems = this.helpers.returnJsonArray({ json: { error: `The operation "${operation}" is not supported!` } });
|
|
} else {
|
|
throw new NodeOperationError(this.getNode(), `The operation "${operation}" is not supported!`);
|
|
}
|
|
}
|
|
|
|
client.close();
|
|
return this.prepareOutputData(returnItems);
|
|
}
|
|
}
|