* refactor saving
* refactor api layer to be stateless
* refactor header details
* set variable for menu height
* clean up scss
* clean up indentation
* clean up dropdown impl
* refactor no tags view
* split away header
* Fix tslint issues
* Refactor tag manager
* add tags to patch request
* clean up scss
* ⚡ Refactor types to entities
* fix issues
* update no workflow error
* clean up tagscontainer
* use getters instead of state
* remove imports
* use custom colors
* clean up tags container
* clean up dropdown
* clean up focusoncreate
* ⚡ Ignore mistaken ID in POST /workflows
* ⚡ Fix undefined tag ID in PATCH /workflows
* ⚡ Shorten response for POST /tags
* remove scss mixins
* clean up imports
* ⚡ Implement validation with class-validator
* address ivan's comments
* implement modals
* Fix lint issues
* fix disabling shortcuts
* fix focus issues
* fix focus issues
* fix focus issues with modal
* fix linting issues
* use dispatch
* use constants for modal keys
* fix focus
* fix lint issues
* remove unused prop
* add modal root
* fix lint issues
* remove unused methods
* fix shortcut
* remove max width
* ⚡ Fix duplicate entry error for pg and MySQL
* update rename messaging
* update order of buttons
* fix firefox overflow on windows
* fix dropdown height
* 🔨 refactor tag crud controllers
* 🧹 remove unused imports
* use variable for number of items
* fix dropdown spacing
* ⚡ Restore type to fix build
* ⚡ Fix post-refactor PATCH /workflows/:id
* ⚡ Fix PATCH /workflows/:id for zero tags
* ⚡ Fix usage count becoming stringified
* address max's comments
* fix filter spacing
* fix blur bug
* address most of ivan's comments
* address tags type concern
* remove defaults
* ⚡ return tag id as string
* 🔨 add hooks to tag CUD operations
* 🏎 simplify timestamp pruning
* remove blur event
* fix onblur bug
* ⚡ Fix fs import to fix build
* address max's comments
* implement responsive tag container
* fix lint issues
* update tag limits
* address ivan's comments
* remove rename, refactor header, implement new designs for save, remove responsive tag container
* update styling
* update styling
* implement responsive tag container
* implement header tags edit
* implement header tags edit
* fix lint issues
* implement expandable input
* minor fixes
* minor fixes
* use variable
* rename save as
* duplicate fixes
* minor edit fixes
* lint fixes
* style fixes
* hook up saving name
* hook up tags
* clean up impl
* fix dirty state bug
* update limit
* update notification messages
* on click outside
* fix minor bug with count
* lint fixes
* handle minor edge cases
* handle minor edge cases
* handle minor bugs; fix firefox dropdown issue
* Fix min width
* apply tags only after api success
* remove count fix
* clean up workflow tags impl, fix tags delete bug
* fix minor issue
* fix minor spacing issue
* disable wrap for ops
* fix viewport root; save on click in dropdown
* save button loading when saving name/tags
* implement max width on tags container
* implement cleaner create experience
* disable edit while updating
* codacy hex color
* refactor tags container
* fix clickability
* fix workflow open and count
* clean up structure
* fix up lint issues
* fix button size
* increase workflow name limit for larger screen
* tslint fixes
* disable responsiveness for workflow modal
* rename event
* change min width for tags
* clean up pr
* address max's comments on styles
* remove success toasts
* add hover mode to name
* minor fixes
* refactor name preview
* fix name input not to jiggle
* finish up name input
* Fix up add tags
* clean up param
* clean up scss
* fix resizing name
* fix resizing name
* fix resize bug
* clean up edit spacing
* ignore on esc
* fix input bug
* focus input on clear
* build
* fix up add tags clickablity
* remove scrollbars
* move into folders
* clean up multiple patch req
* remove padding top from edit
* update tags on enter
* build
* rollout blur on enter behavior
* rollout esc behavior
* fix tags bug when duplicating tags
* move key to reload tags
* update header spacing
* build
* update hex case
* refactor workflow title
* remove unusued prop
* keep focus on error, fix bug on error
* Fix bug with name / tags toggle on error
* fix connection push bug
* :spakles: Implement wait functionality
* 🐛 Do not delete waiting executions with prune
* ⚡ Improve SQLite migration to not lose execution data anymore
* ⚡ Make it possible to restart waiting execution via webhook
* ⚡ Add missing file
* 🐛 Some more merge fixes
* ⚡ Do not show error for Wait-Nodes if in time-mode
* ⚡ Make $executionId available in expressions
* 👕 Fix lint issue
* 👕 Fix lint issue
* 👕 Fix lint issue
* ⚡ Set the unlimited sleep time as a variable
* ⚡ Add also sleeping webhook path to config
* ⚡ Make it possible to retrieve restartUrl in workflow
* ⚡ Add authentication to Wait-Node in Webhook-Mode
* ⚡ Return 404 when trying to restart execution via webhook which does
not support it
* ✨ Make it possible to set absolute time on Wait-Node
* ⚡ Remove not needed imports
* ⚡ Fix description format
* ✨ Implement missing webhook features on Wait-Node
* ⚡ Display webhook variable in NodeWebhooks
* ⚡ Include also date in displayed sleep time
* ⚡ Make it possible to see sleep time on node
* ⚡ Make sure that no executions does get executed twice
* ⚡ Add comment
* ⚡ Further improvements
* ⚡ Make Wait-Node easier to use
* ✨ Add support for "notice" parameter type
* Fixing wait node to work with queue, improved logging and execution view
* Added support for mysql and pg
* ✨ Add support for webhook postfix path
* ✨ Make it possible to stop sleeping executions
* ⚡ Fix issue with webhook paths in not webhook mode
* ⚡ Remove not needed console.log
* ⚡ Update TODOs
* ⚡ Increase min time of workflow staying active to descrease possible issue
with overlap
* 👕 Fix lint issue
* 🐛 Fix issues with webhooks
* ⚡ Make error message clearer
* ⚡ Fix issue with missing execution ID in scaling mode
* Fixed execution list to correctly display waiting executins
* Feature: enable webhook wait workflows to continue after specified time
* Fixed linting
* ⚡ Improve waiting description text
* ⚡ Fix parameter display issue and rename
* ⚡ Remove comment
* ⚡ Do not display webhooks on Wait-Node
* Changed wording from restart to resume on wait node
* Fixed wording and inconsistent screen when changing resume modes
* Removed dots from the descriptions
* Changed docs url and renaming postfix to suffix
* Changed names from sleep to wait
* ⚡ Apply suggestions from ben
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
* Some fixes by Ben
* ⚡ Remove console.logs
* ⚡ Fixes and improvements
Co-authored-by: Mutasem <mutdmour@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
* Initial commit n8n smartsheet and formio nodes
1. created smarsheet node that can add new rew to a particular smarsheet.
2. created formio trigger node which will listen to form.io form submit event and process data.
* Added coloum mapping logic form.io field label to smarsheet column title.
API and smartsheet sheetId configuration added to smartsheet node.
* Added smartsheet api credentials and used it in smartsheet node.
* Added logos to the form.io and smartsheet nodes.
Removed smartsheet and form.io npm dependencies from the nodes.
Added type check for the variables used.
fixed tslint errors in the created nodes.
* ⚡ Improvements to #1943
* ⚡ Improvements
* ⚡ Improvements
* ⚡ Some fixes and improvements
Co-authored-by: Parthiban Chandrasekar <pbr.reddys@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* Changes to types so that credentials can be always loaded from DB
This first commit changes all return types from the execute functions
and calls to get credentials to be async so we can use await.
This is a first step as previously credentials were loaded in memory and
always available. We will now be loading them from the DB which requires
turning the whole call chain async.
* Fix updated files
* Removed unnecessary credential loading to improve performance
* Fix typo
* ⚡ Fix issue
* Updated new nodes to load credentials async
* ⚡ Remove not needed comment
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* introduce binary data management
* cr
* add binary data changes to awsS3 node
* add binary data changes to Box node
* add binary data changes to CiscoWebex node
* add binary data changes to HumaniticAi node
* add binary data changes to Jira node
* add binary data changes to Line node
* add binary data changes to MicrosoftOneDrive node
* add binary data changes to MicrosoftOutlook node
* add binary data changes to Mindee node
* add binary data changes to NocoDB node
* add binary data changes to Pushbullet node
* add binary data changes to Pushover node
* add binary data changes to Raindrop node
* add binary data changes to S3 node
* add binary data changes to Salesforce node
* add binary data changes to Ssh node
* add binary data changes to TheHive node
* add binary data changes to Twist node
* add binary data changes to Twitter node
* remove changes not needed right now
* 🐛 Fix issue with multiple runs
* 🐛 Revert fix and add support for multiple inputs
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* Add Json params on company
* Revert and add only JSON params on Company
* Fix Company search field
* ⚡ Improvements to #1957
* ⚡ Improvements
Co-authored-by: Dokime <jnau5@yahoo.com>
* aws dynamodb: fixes using FilterExpression on Query
* aws dynamodb: add Scan (again)
* ⚡ Improvements to #2021
* ⚡ Set scan to "false" by default to make it none breaking
Co-authored-by: Michael Hirschler <michael.vhirsch@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* Add timezone in date property on Notion
Signed-off-by: 5pecia1 <pdpxpd@gmail.com>
* ⚡ Improvements to #2036
* ⚡ Minor improvements
Co-authored-by: 5pecia1 <pdpxpd@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* 🐛 fix db connection check
* 👕 fix missing semi
* ⏪ Revert "🐛 Hardcode typeorm@0.2.34 as new version makes health-check fail"
This reverts commit ddee2ec47c.
* 🐛 fix health-check in WebhookServer
* Iterating additionalFields given instead of hard coding the interface to match them when creating a product
* Removed redundancy for product creation/update and order create.
Co-authored-by: Omar Ajoue <krynble@gmail.com>
* ✨ Create Freshworks node
* ⚡ Implement all getAll operations
* ⚡ Add tz to appointment:create and update
* ⚡ Fix repetition in email in contact:create
* ⚡ Add tz to salesActivity:create and update
* ⚡ Add tz to task:create and update
* 🔥 Remove required from due date
* ⚡ Add all-day setting to appointment
* ⚡ Add filters to all operations
* ⚡ Improvements
* ⚡ Minor improvements
* ⚡ Additional parameter display name changes
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* ⚡ Add fields parameter
* ⚡ Revert to not subscribe to anything by default to avoid breaking
change
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* ⚡ Add logging for pruning errors
* ⚡ Reformat pruning date to UTC string
* ⚡ Reformat workflow deletion date to UTC
* ⚡ Enforce UTC datetimes for MySQL
* ⚡ Enforce UTC datetimes for Postgres
* ⏪ Revert "Reformat workflow deletion date to UTC"
This reverts commit ca9628bc6d.
* ⚡ Filter events by action and type
* ⚡ Small change
* ⚡ Improvements
* ⚡ Minor improvements
Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* ⚡Add custom fields support to TheHive node
* ⚡ Improvements to #1527
* 🐛 Make it also work without custom fields set
Co-authored-by: Mika Luhta <12100880+mluhta@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* ⚡ Add support of array in querystring
In the HTTP Request node, a parameter that appeared multiple times with the same name will be converted into an array.
Any parameters that appeared only once will be kept in the form of a string for backward compatibility.
* ⚡ Prefer spread operator
* ✨ Add Home Assistant io node
* Implement continueOnFail
* Add Camera Proxy resource
* Clean up
* Minor improvements
* Remove 'Io' from the node name & code
* Fix generic functions naming
* ⚡ Improvements
* Apply review changes & fix minor bugs
* Reduce nesting for additional attributes
* Minor changes
* ⚡ Minor improvements and deactivate "Event" resource
Co-authored-by: dali <servfrdali@yahoo.fr>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* Added try catch blocks to avoid endlessly running workflows
* Added handling for subworkflows
* ⚡ Fix one cause of "unkown" status of worklows with "main" mode
* ⚡ Fix one cause of "unkown" status of worklows with "own" mode
* ⚡ Fix one cause of "unkown" status of worklows with "queue" mode
* Saving database recovery
* 🐛 Fix issue that errors did not get saved correctly and also not
displayed
* ⚡ Save workflow timeout correctly as error
* Adding error capture to queued jobs
* ⚡ Mark canceled executions as not finished consistently across all
modes
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* 🐛 fix issue sending connectionTimeout parameter
* 🐛 Fix issue when inserting data using columns with spaces
* 🐛 Fix issue when updating data using columns with spaces
* 🐛 Fix issue when deleting data using columns with spaces
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* Performance improvements for executions count on Postgres
As reported by a community member https://community.n8n.io/t/stress-load-testing/4846/5
and https://github.com/n8n-io/n8n/issues/1578, when using postgres with
a big volume of executions, the executions list's performance degrades.
This PR is aimed at Postgres specifically by querying postgres' stats
collector instead of running a full table scan, providing a good
estimate.
More can be read here: https://www.citusdata.com/blog/2016/10/12/count-performance/
* Removed order of magnitude so we display closer numbers
* Making count based on statistics only when not applying filters
* ⚡ Minor styling improvements
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* Add bulk operation to Airtable Node
* ⚡ Small improvements to #1942
* ⚡ Resolve lint issues
* ⚡ Make by default bulk updates and fix issue with update
Co-authored-by: Michael Chen <michaelchen@live.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* 🐛 Fix Google Sheet to handle 0 correctly
`if (condition) { statement }` will not be executed if the `condition` is `0` (number) so that appending 0 to Google Sheets results in an empty cell.
Checking if the value is `null` or `undefined` is enough to guarantee that `toString` is callable.
* 🐛 Add semicolon
* Added flag to simplify output to execute command and created executeAll
Also created a command that lists workflows so it can be used by
other applications that wish to interact with n8n via CLI.
* Added compare funcionality that helps us identify possible breaking changes
* ⚡ Add JSON flag to output execution result in json format
* Add execution time to execution result
* Add --output flag to save JSON formated results
* Fix typos
* Adding usage examples and warning message
* Changing command to always output JSON information
* ⚡ Add concurrency to executeAll command
* ✨ Add IDs filter to executeAll command
* ✏️ Fix typos
* Fix lint issues
* Improvements to execute all
* Added colors and beautified execute all command output
* Improving premature termination of execute all command
* Refactored output
* Added detection for warnings instead of errors for a few cases
* Fixed linting
* Improved process finishing
* Added encryption key init, removed messages from non-debug run and created sample github actions file
* Updated test command to use correct encryption key
* Correcting paths
* Changed command name and changed concurrency to be slot based
* Added the retry functionality
* Improved typing and fixed executions filtering
* Updated test description
* Added concurrency
* Added skip list and concurrency
* Fixed termination behavior, removed unnecessary code and added main mode to executions
* Added special edge cases handling
* Added safe debug flag for non tty terminals
* Removed comparison and retries for testing
* Changed the way we run commands to add more debug info
* Test adding concurrency
* Testing with regular testing procedure without comparison
* Adding compare flag
* Fixing short output command
* Upgraded concurrency to 16, fixed short output and covered nodes count
* Fixed short output condition
* Correcting short output information
* Correcting the output for short output
* Added a string to possible warnings list
* Added example usages with more arguments
* Improvements to code made by Ivan
* Removed colorize output setting (always use colors), moved execution timeout to become static and removed node list from executions
* Moving types to a separate file on execute batch command
* Changed interfaces file extension to prevent oclif warnings
* Updated workflow pdf files
* ⚡ Change rule when tests run + minor formatting fixes
Co-authored-by: dali <servfrdali@yahoo.fr>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* allow qbo to use accounting or payment scopes separately
* added purchase get and getall
* removed irrelevant field options
* ⚡ Sort alphabetically
* 🔥 Remove unused file
* ✏️ Fix description casing
* ⚡ Add credentials type
* ✏️ Fix resource dividers
* 🔨 Format import
* ✏️ Fix documentation link
* ⚡ Refactor credentials
* ⚡ Use multiOptions for scopes
* 🔥 Remove payment scope
The payment scope is used only by the QuickBooks Payments API, but this node implements the QuickBooks Online API, which only needs the accounting scope.
* 🚚 Rename node to QuickBooks Online
This reflects the specific API implemented in this node and allows for a future QuickBooks Payments node. Until node versioning is released, only display name changed.
Co-authored-by: Calvin Tan <calvin14@gmail.com>
* ✨ Add Google Docs node
* Implement continueOnFail
* Add insert:Table and insert/delete:TableRow,TableColumn
* Lint fixes
* Fix typos, casing and enhance code readability
* Enhance code readability & apply review changes
* ⚡ Review Google Docs node
* Apply review changes
* Minor fix
* Improvements
* Clean up
* Enhance inputs descriptions
* Removed unused type fields
* Minor fix
* ⚡ Small improvements
* ⚡ Small change
* Use Document URL insead of ID and support adding content at creation
* Refactored node to make it more user friendly
* Improve get operation
* Add simple output to get operation
* Add service account
* Apply review suggestions
* Improvements
* Enable continueOnFail
* ⚡ Minor improvements
Co-authored-by: dali <servfrdali@yahoo.fr>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* Added the option to flatten output so we can more easily work with arrays
* ⚡ Change parameter name
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* implement import
* set name, remove console log
* add validation and such
* remove monday.com package for testing
* clean up code
* await new name
* refactor api requests
* remove unnessary import
* build
* add zoom button
* update positions on loading template
* update error handling
* build
* update zoom to center
* set state to dirty upon leaving
* clean up pr
* refactor func
* refactor redir
* fix lint issue
* refactor func out
* use new endpoint
* revert error changes
* revert error changes
* update logic to find top left node
* zoom to fit when opening workflow
* revert testing change
* update case
* address comments
* reset zoom when opening new workflow
* update endpoint to plural form
* update endpoint
* ⚡ Minor improvements
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* Migration for MySQL to certify that we're using the correct collation
* Update migration to check for collation existence before running
* ⚡ Fix format
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* ⚡ Add the posiblity to set multi-select fields with the names
* 🐛 Fix issue with expressions
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
* Improved/fixed collecting of custom fields based on project and issue type.
* ⚡ Improvements to #1610
* 👕 Fix linter issue
Co-authored-by: jemos <jean.mousinho@gmail.com>
* ⚡ Add upsert operation to various resources (Salesforce)
The operation was added to the resources: Contact, Account, Lead, Opportunity and Custom Object.
* ⚡ Rename operation create/update to Create or Update
* ⚡ Improvements
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* Add a function to validate JSON - copied from other nodes.
* Add properties and appProperties attributes.
* ⚡ Improvements to #1637
Co-authored-by: vbouchet <vincent.bouchet.31@gmail.com>
* Implementation of fetures to fetch data from Pipedrive API e user can select by dropdown
* Search operation to Deals
* Add custom fields for deal and person to select by dropdown
* ⚡ Improvements to #1845
Co-authored-by: Rodrigo Correia <rodrigoscdc@gmail.com>
* ✨ Send console.log messages to editor-UI
* ⚡ Send message only to session which started workflow
* ⚡ Made it also work in own process
* ⚡ Add support for console.log UI forward also to FunctionItem Node
* 👕 Fix lint issue
* 👕 Fix linting issue
* ⚡ Restructure IPushData unions in /cli
* ⚡ Restructure IPushData unions in /editor-ui
* 🔥 Remove unneeded castings
* 🔥 Remove commented code
* ⚡ Improve code
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
Co-authored-by: Jan <janober@users.noreply.github.com>
* ✨ Send console.log messages to editor-UI
* ⚡ Send message only to session which started workflow
* ⚡ Made it also work in own process
* ⚡ Add support for console.log UI forward also to FunctionItem Node
* 👕 Fix lint issue
* 👕 Fix linting issue
* ⚡ Improve code
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>