Commit graph

26 commits

Author SHA1 Message Date
Iván Ovejero 027dfb2f0a
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>
2022-04-08 23:32:08 +02:00
Ricardo Espinoza 6066b6670e
🐛 Fix bug filtering date and datetime fields on Salesforce node (#2565) 2022-01-16 14:27:20 +01:00
Omar Ajoue 7ce7285f7a
Load credentials from the database (#1741)
* 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>
2021-08-20 18:57:30 +02:00
Ricardo Espinoza 9a7c25aacd
Add document:upload operation to Salesforce Node (#2030) 2021-07-29 14:11:04 +02:00
Iván Ovejero c5a1bc007f
Add sandbox option to Salesforce OAuth2 credentials (#1979)
*  Add environment dropdown to OAuth2 creds

*  Add sandbox URL to OAuth2 call

*  Revert options change

*  Set OAuth2 URLs with expressions

*  Extract instance URL from credentials
2021-07-14 18:51:51 +02:00
Omar Ajoue c972f3dd50
Added logging to n8n (#1381)
* Added logging to n8n

This commit adds logging to n8n using the Winston library.

For now, this commit only allows logging to console (default behavior)
or file (need to pass in config via environment variables).

Other logging methods can be further implemented using hooks. These were
skipped for now as it would require adding more dependencies.

Logging level is notice by default, meaning no additional messages would
be displayed at the moment. Logging level can be set to info or debug as
well to enrich the generated logs.

The ILogger interface was added to the workflow project as it would make
it available for all other projects but the implementation was done on
the cli project.

* Lint fixes and logging level naming. Also fixed the way we use the logger as it was not working previously

* Improvements to logging framework

Using appropriate single quotes
Improving the way the logger is declared

* Improved naming for Log Types

* Removed logger global variable, replacing it by a proxy

* Add logging to CLI commands

* Remove unused GenericHelpers

* Changed back some messages to console instead of logger and added npm
shortcuts for worker and webhook

* Fix typos

* Adding basic file rotation to logs as suggested by @mutdmour

* Fixed linting issues

* Correcting comment to correctly reflect space usage

* Added settings for log files rotation

* Correcting config type from String to Number

* Changed default file settings to number

To reflect previous changes to the type

* Changed the way log messages are added to be called statically. Also minor naming improvements

* Applying latest corrections sent by @ivov

*  Some logging improvements

* Saving logs to a folder inside n8n home instead of root

* Fixed broken tests and linting

* Changed some log messages to improve formatting

* Adding quotes to names  on log messages

* Added execution and session IDs to logs. Also removed unnecessary line breaks

*  Added file caller to log messages (#1657)

This is done using callsites library which already existed
in the project as another library's dependency. So in fact
it does not add any new dependency.

* Adding logs to help debug Salesforce node

*  Add function name to logs and add more logs

*  Improve some error messages

*  Improve some more log messages

*  Rename logging env variables to match others

Co-authored-by: dali <servfrdali@yahoo.fr>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-05-01 22:43:01 -05:00
Iván Ovejero 1d27a9e87e
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

* 🚧 create basic setup NodeError

* 🚧 add httpCodes

* 🚧 add path priolist

* 🚧 handle statusCode in error, adjust interfaces

* 🚧 fixing type issues w/Ivan

* 🚧 add error exploration

* 👔 fix linter issues

* 🔧 improve object check

* 🚧 remove path passing from NodeApiError

* 🚧 add multi error + refactor findProperty method

* 👔 allow any

* 🔧 handle multi error message callback

*  change return type of callback

*  add customCallback to MultiError

* 🚧 refactor to use INode

* 🔨 handle arrays, continue search after first null property found

* 🚫 refactor method access

* 🚧 setup NodeErrorView

*  change timestamp to Date.now

* 📚 Add documentation for methods and constants

* 🚧 change message setting

* 🚚 move NodeErrors to workflow

*  add new ErrorView for Nodes

* 🎨 improve error notification

* 🎨 refactor interfaces

*  add WorkflowOperationError, refactor error throwing

* 👕 fix linter issues

* 🎨 rename param

* 🐛 fix handling normal errors

*  add usage of NodeApiError

* 🎨 fix throw new error instead of constructor

* 🎨 remove unnecessary code/comments

* 🎨 adjusted spacing + updated status messages

* 🎨 fix tab indentation

*  Replace current errors with custom errors (#1576)

*  Introduce NodeApiError in catch blocks

*  Introduce NodeOperationError in nodes

*  Add missing errors and remove incompatible

*  Fix NodeOperationError in incompatible nodes

* 🔧 Adjust error handling in missed nodes

PayPal, FileMaker, Reddit, Taiga and Facebook Graph API nodes

* 🔨 Adjust Strava Trigger node error handling

* 🔨 Adjust AWS nodes error handling

* 🔨 Remove duplicate instantiation of NodeApiError

* 🐛 fix strava trigger node error handling

* Add XML parsing to NodeApiError constructor (#1633)

* 🐛 Remove type annotation from catch variable

*  Add XML parsing to NodeApiError

*  Simplify error handling in Rekognition node

*  Pass in XML flag in generic functions

* 🔥 Remove try/catch wrappers at call sites

* 🔨 Refactor setting description from XML

* 🔨 Refactor let to const in resource loaders

*  Find property in parsed XML

*  Change let to const

* 🔥 Remove unneeded try/catch block

* 👕 Fix linting issues

* 🐛 Fix errors from merge conflict resolution

*  Add custom errors to latest contributions

* 👕 Fix linting issues

*  Refactor MongoDB helpers for custom errors

* 🐛 Correct custom error type

*  Apply feedback to A nodes

*  Apply feedback to missed A node

*  Apply feedback to B-D nodes

*  Apply feedback to E-F nodes

*  Apply feedback to G nodes

*  Apply feedback to H-L nodes

*  Apply feedback to M nodes

*  Apply feedback to P nodes

*  Apply feedback to R nodes

*  Apply feedback to S nodes

*  Apply feedback to T nodes

*  Apply feedback to V-Z nodes

*  Add HTTP code to iterable node error

* 🔨 Standardize e as error

* 🔨 Standardize err as error

*  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 18:33:36 +02:00
Craig McElroy aab6946e9e
🐛 Salesforce Get All : Handle string and array options.fields (#1590) 2021-04-02 17:46:33 +02:00
Jan Oberhauser 40b76fd746 Simplify code 2021-03-18 11:02:00 +01:00
Craig McElroy 3cb8cd115e
Salesforce Custom Object Get All : Fix TypeError: options.fields.split is not a function 2021-03-17 14:17:21 -05:00
Jan Oberhauser 785b0e385e 👕 Fix lint issue 2021-01-13 20:20:30 +01:00
Jan Oberhauser 29c9c6d933 Remove console.logs 2021-01-13 10:49:55 +01:00
Ricardo Espinoza 63a459ac92
Add filters to all getAll operations to Salesforce Node (#1292)
*  Add filters to all get:All operations

*  Small fix

* Add description to condition fields

*  Minor improvements to Salesforce-Node

Co-authored-by: Harshil <ghagrawal17@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-01-13 10:45:41 +01:00
Jan Oberhauser 889267ebb6 👕 Fix lint issue 2020-10-28 23:14:09 +01:00
Ricardo Espinoza 0b1688caf4
Feature/salesforce jwt bearer (#1082)
* Salesforce - OAuth 2.0 JWT Bearer Flow for Server-to-Server Integration

*  Small improvements

*  Small fix

Co-authored-by: Craig McElroy <craig@mcelroyfamily.com>
2020-10-28 23:07:35 +01:00
Jan Oberhauser 40c2acd77b 👕 Fix lint issue 2020-10-22 15:46:03 +02:00
Jan Oberhauser f3b92a8502 Sort options on Salesforce-Node 2020-10-16 11:13:04 +02:00
Ricardo Espinoza 86d5681517
Add salesforce custom objects and custom fields (#1061) 2020-10-16 10:27:09 +02:00
Ricardo Espinoza d64c767ebd
Salesforce (#932)
* fix salesforce error while get all using nextRecordsUrl

The uri for using nextRecordsUrl to get all data in salesforce node is error. The right usage is fixed in this pr.

*  Small changes

* :zap Small fix

Co-authored-by: YErii <yeriime@outlook.com>
Co-authored-by: Jan <janober@users.noreply.github.com>
2020-09-06 21:31:55 +02:00
Jan Oberhauser d2f6bd7e42 👕 Fix lint issue 2020-09-01 09:22:41 +02:00
YErii 1727b4626b
🐛 Fix possible request problem on Salesforce-Node (#894)
As mentioned in this [doc](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_query.htm), sfdc use query string to represent a SOQL query. It may get error response in some environment if we provide the body param such as sandbox env.
2020-08-27 08:23:02 +02:00
YErii 4b8c6147d3
🐛 Update salesforce node's get subdomain function (#834)
Original function will not match subdomains like `https://a.b.c.salesforce.com` and use regular expression to get the subdomain.
2020-08-26 22:54:00 +02:00
shraddha shaligram b95e3464a4 add meeting functionality 2020-06-22 11:51:15 -07:00
ricardo af3d799e5c Oauth1 support and Twitter node 2020-06-01 20:42:44 -04:00
Jan Oberhauser f64a1a9bf1 Minor improvements zu Salesforce-Node 2020-02-12 22:35:56 -08:00
Ricardo Espinoza 2eaeb4f4c2 salesforce node 2020-02-10 15:55:28 -05:00