Commit Graph

807 Commits

Author SHA1 Message Date
dependabot[bot]
d4068a24af
chore: bump jackson-databind from 2.12.6.1 to 2.13.4.1 in /app/server/appsmith-plugins/snowflakePlugin (#17695)
chore(deps): bump jackson-databind

Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.12.6.1 to 2.13.4.1.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 09:48:03 +05:30
dependabot[bot]
a26c43622f
chore: bump jackson-databind from 2.12.6.1 to 2.13.4.1 in /app/server/appsmith-plugins/googleSheetsPlugin (#17694)
chore(deps): bump jackson-databind

Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.12.6.1 to 2.13.4.1.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 09:47:38 +05:30
dependabot[bot]
02b3bd3670
chore: bump jackson-databind from 2.12.6.1 to 2.13.4.1 in /app/server/appsmith-plugins/restApiPlugin (#17693)
chore(deps): bump jackson-databind

Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.12.6.1 to 2.13.4.1.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 09:47:10 +05:30
amogh2019
37a1738490
fix: MongoPlugin Update Command : parsing valid document or array of valid documents (#17732)
* parse array of valid documents for update command
2022-10-30 17:07:02 +05:30
subratadeypappu
eaf9b95bd6
fix: Internal server error in case of ARRAY type in MySQL (#17702) (#17838)
Fix internal server error in case of ARRAY type in MySQL (#17702)

This commit adds support for handling array like data in MySQL
- If the data type identified by the client side is of type ARRAY it will be treated as STRING as MySQL doesn't have support for ARRAY data type
2022-10-28 11:51:59 +05:30
Sumit Kumar
68b7f16932
fix: update HikariCP package version (#17806)
update HikariCP package version
2022-10-27 14:07:37 +05:30
amogh2019
9e1303905e
fix: ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String (#17707)
* get a string casted value safely from form data

* letting warning be and removing unwanted line
2022-10-25 18:56:35 +06:00
subratadeypappu
19e2e5785e
Fix/16994 refactor common datatype handling (#17429)
* fix:Add array datatype to execute request

* feat: Consume and store type of array elements in Param class (#16994)

* Append param instead of clientDataType in varargs (#16994)

* Refactor common data type handling w.r.t newer structure (#16994)

This commit takes care of the following items:
- It minimizes the number of usage to the older stringToKnownDataTypeConverter method
- Modifies the existing test cases to conform to the newer structure
- Marks stringToKnownDataTypeConverter method as deprecated to discourage further use

* Remove comma delimited numbers from valid test cases (#16994)

* Fix extracting clientDataType from varargs in MySQL (#16994)

* Pass param as a dedicated parameter in json smart replacement (#16994)

* Remove varargs from json smart replacement method (#16994)

* Move BsonType to mongoplugin module (#16994)

* Introduce NullArrayType and refactor BsonType test cases (#16994)

* Add new test cases on numeric string with leading zero (#16994)

* Refactor test case name (#16994)

* Add comment on the ordering of Json and Bson types (#16994)

* Add comment on the ordering of Json and Bson types (#16994)

* Add NullArrayType in Postgres and introduce postgres-specific types (#16994)

* Add data type test cases for Postgres and change as per review comments (#16994)

Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
2022-10-18 11:02:37 +05:30
Vaibhav Tanwar
7defff9a7a
fix: ms sql default port updated to 1433 (#17342) 2022-10-18 09:08:39 +05:30
Nidhi
c3e935ef40
fix: Remove datasource connection from cache when datasource is deleted (#17364)
* Changes to testDatasource interface method and archive flow

* Tests for plugin level testDatasource implementations

* Added test for refreshing cache on deleting datasource

* Modified warnings to errors in logs

* Fixed test

* Fixed test
2022-10-17 10:31:26 +05:30
Ayangade Adeoluwa
18ef195f13
fix: Switches mongo field type from dynamic input text to dynamic text (#17447)
Switches mongo field type from dynamic input text to dynamic text
2022-10-13 19:26:55 +05:30
Kishore
def8f5c03a
fix: Arango plugin: change default db name to _system (#16198) 2022-10-07 23:50:44 +05:30
Sumit Kumar
4f358e0c68
fix: fix GraphQL query run behaviour post cursor based pagination configuration (#17316) 2022-10-07 11:15:38 +05:30
Aman Agarwal
78c89894f8
fix: updated settings page design (#16990)
fix: updated settings page design
2022-10-06 16:36:29 +05:30
subratadeypappu
d2de8f7cec
feat: Implement data type handling in MySQL (#16621) (#17017)
* feat: Implement data type handling in MySQL (#16621)

With this implementation we can now achieve the following under prepared statement:
- Ability to distinguish between null object and "null" string
- Ability to distinguish values like {{"098765"}} and {{098765}}. The former is identified as a string and the latter is identified as an integer

* feat: Add unit test cases on data type handling in MySQL (#16621)

* chore: Move MySQL specific types to a separate class (#16621)

* chore: Remove import shortening (#16621)

* Fix testStructure test case to have loose coupling with the order of tables (#16621)

* Fix: Add missing client-side data types in params in a few test cases (#16621)

* Fix query in test case (#16621)

* Fix test cases and add small refactoring (#16621)

* Refactor assertion with a check on Optional (#16621)

* additional cypress test cases for mysql

* updated test case object

* update for failing test cases

* mysql failure point fix

* mysql false spec failure point fix

* fix flacy test cases

* flacky JSON test cases

Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-10-04 10:45:10 +00:00
Nidhi
ca5499c358
chore: Tests pass, server runs w/ analytics (#17205)
* Tests pass, server runs w/ analytics

* Fix okhttp
2022-09-30 11:49:25 +05:30
Manish Kumar
00486833ea
fix: MongoPlugin smart substitution for regex arguments (#16977)
* BugFix: Fix for mongoPlugin smart substitution of regex attributes, Fixes: https://github.com/appsmithorg/appsmith/issues/11880
	Changes:
		MongoPlugin.java
		MongoPluginTest.java

* Added test for decimal numbers and made changes to regex

* code formatting: Formatted some test cases in MongoPluginTest.java
2022-09-29 10:37:19 +05:30
Nidhi
66f3dfe790
chore: Move to Jupiter JUnit5 (#17083)
* Upgrading to Jupiter tests for everything but plugins

* Whoops, too soon

* Fixed failing tests

* Imports fixed

* Removed PowerMock dep and JUnit4 from interfaces

* Woohoo! That's testcontainers

* Added maven enforcer to disallow junit4

* Update app/server/appsmith-server/src/test/java/com/appsmith/server/services/GitServiceTest.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* Update app/server/appsmith-server/src/test/java/com/appsmith/server/services/UserWorkspaceServiceTest.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* Update app/server/appsmith-server/src/test/java/com/appsmith/server/services/ce/ActionServiceCE_Test.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* Update app/server/appsmith-server/src/test/java/com/appsmith/server/solutions/CreateDBTablePageSolutionTests.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* Weird formatting and version upgrades

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-09-29 08:54:07 +05:30
Shrikant Sharat Kandula
4456687400
Fix domain resolution in Elasticsearch (#17026)
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-09-26 08:55:54 +05:30
Sumit Kumar
b8f30a8f10
fix: remove RapidAPI plugin src code from API server (#16501)
* remove RapidApi plugin related code from API server
* mark RapidApi plugin related data as deleted in DB (soft delete)
2022-09-23 13:20:03 +05:30
Shrikant Sharat Kandula
5ac26692ab
Fix host error message in Elasticsearch config (#17001) 2022-09-23 10:01:43 +05:30
Nidhi
2c2025dfea
fix: Make projection fields refresh when table heading row index selection is updated (#16883) 2022-09-21 15:11:56 +05:30
Shrikant Sharat Kandula
769719ccfe
fix: Better support for disallowed hosts (#16842) 2022-09-19 12:41:57 +05:30
subratadeypappu
e791d7f0d9
fix: Class cast exception during file upload in S3 bucket (#15832) (#16746) 2022-09-16 21:14:27 +06:00
subratadeypappu
cf2ef37527
feat: Add a service layer to get AppsmithType from client-type (#16508) (#16619)
* feat: Add a service layer to get AppsmithType from client-type (#16508)

This commit takes care of the following things
- It creates a service layer to get the target AppsmithType from the client-side data type and the evaluated value
- This service layer is currently not consumed by any plugins
- A full JUnit test suit for MySQL-specific types

* feat: Remove FloatType and add comments for better understanding (#16508)

* feat: Add FallbackType and covert the DataTypeService to a util class (#16508)

This commit takes care of these
- Introduce FallbackType as a separate type
- Convert the DataTypeService to a util class
- Add java doc around the methods in DataTypeService class

* feat: Rename DataTypeService to DataTypeServiceUtils (#16508)
2022-09-16 17:40:28 +06:00
Shrikant Sharat Kandula
83fc89f1a1
fix: No-op Asserts (#16690) 2022-09-13 13:55:33 +05:30
Sumit Kumar
0cbe81dfde
feat: merge GraphQL plugin to release (#16554)
* merge GraphQL plugin to release
2022-09-09 21:29:47 +05:30
Shrikant Sharat Kandula
06c8210a3a
fix: Fix LinkageError with macOS DNSResolver class (#16581)
On macOS, when running a MySQL query, we see the following error:

```
java.lang.ClassCastException: class io.netty.channel.kqueue.KQueueEventLoopGroup cannot be cast to class io.netty.channel.EventLoopGroup
```

This is because of a `LinkageError`, caused because these classes exist both in the parent `server` module classpath, as well as in this plugin's classpath separately. To fix this, we removed this dependency from the server module.

But then, this caused a problem with how the `DNSResolver` class was being, well, resolved by the application class loader, vs the plugin class loader. This is a macOS specific problem, and doesn't affect other operating systems.

For this, we add just this package as a dependency to the MySQL plugin.
2022-09-06 22:00:53 +05:30
Shrikant Sharat Kandula
9dbc648e4c
Fix LinkageError in Saas & GSheets plugins (#16565) 2022-09-06 13:23:04 +05:30
subratadeypappu
3725834fb4
feat: Add server-side base data types (#15784) (#16240)
* feat: Add server-side base data types (#15784)

This commit takes care of the following two things
- It adds the server-side base data types which are considered common data types across plugins
- It adds a few MySQL specific types

* feat: Add MySQLBooleanType and refactor MySQLDateTimeType with camelCase (#15784)

* feat: Move MySQL specific types to mysqlPlugin folder (#15784)
2022-09-02 16:25:36 +05:30
sneha122
990692cc81
fix: gsheets insert command placeholder issue fixed (#16441)
gsheets insert command placeholder issue fixed

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2022-09-02 12:32:51 +05:30
Shrikant Sharat Kandula
8a0838505a
All outgoing requests should go through the configured proxy (#14427)
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-09-01 11:16:45 +05:30
Manish Kumar
fcfc3d97dc
feat: Making the error messages in amazon s3 plugin informative (#15861)
* feat: make AmazonS3 plugin error messages more readable. #8664

* added curly braces in if/else block

* modified according to PR review comments

* modified according to PR review comments

* This commit introduces readable errors for S3 Datasource: https://github.com/appsmithorg/appsmith/issues/8554
It changes three files:
	*AmazonS3ErrorUtils.java
	*AmazonS3PluginTest.java
	*AmazonS3ErrorUtilsTest.java

This commit has been tested:
	*manual testing
	*Junit testing

* This feature-commit introduces readable errors for S3 Datasource: https://github.com/appsmithorg/appsmith/issues/8554
It changes three files:
	*AmazonS3ErrorUtils.java
	*AmazonS3PluginTest.java
	*AmazonS3ErrorUtilsTest.java

This commit has been tested:
	*manual testing
	*Junit testing

* added new line in the AmazonS3ErrorUtilsTest.java

* * Ommited unused imports in following files:
	* AmazonS3ErrorUtils.java
	* AmazonS3PluginTest.java
	* AmazonS3ErrorUtilsTest.java

* Moved test functions
* combined instance checking for AmazonServiceException and its subclass

* removed unused imports from AmaxonS3UtilsTest.Java

Co-authored-by: somna <somnathdasadhikari@gmail.com>
2022-08-15 10:48:20 +05:30
Nidhi
10c9f77359
fix: Make default DB compulsory in URI string format (#15881)
* fix: Use admin as default database when no Mongo DB is specified

* fix: Make default db compulsary instead

* Added back check during execution per review

* Json field spec fix

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-08-11 15:35:27 +05:30
Ayangade Adeoluwa
1ecffb8272
fix: Modify Form Control Inputs for various Datasource Actions (#15396)
* Modify control type for MongoDB Collection field

* Make more form control changes across datasources

* Fix cypress errors

* Fix typescript error

* Fix more cypress tests

* Fix failing MongoDBShoppingCart spec

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-08-09 13:05:59 +00:00
Arpit Mohan
c1dbca6779
fix: Adding checks to prevent disallowed hosts from connecting via Elasticsearch plugin (#15834)
## Description

This PR fixes an issue where a potentially malicious user can connect to disallowed hosts from the Elasticsearch plugin within Appsmith. This is because Elasticsearch client SDK is a HTTP interface underneath the hood. 

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- Junits for the following:
  - create datasource with disallowed host
  - validate datasource with disallowed host
  - test datasource with disallowed host

## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
2022-08-08 21:07:15 +05:30
Arpit Mohan
0967b516b6
fix: Adding a check for invalid hosts on redirects as well (#15782)
## Description

Fixes issue for checking for invalid hosts even when there are redirects in the Rest API plugin.

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- Junit test

## Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
2022-08-06 12:36:43 +05:30
dependabot[bot]
bd555c1bfd
chore: bump postgresql from 42.3.3 to 42.4.1 in /app/server/appsmith-plugins/postgresPlugin (#15781) 2022-08-06 12:35:25 +05:30
Manish Kumar
5c1ad6403e
fix: Elasticsearch DB Head request fails on some ES instances when used on /test API (#15332)
* This commit changes two things:

	* Pom.xml --> ES- Restclient version to 7.17.5 from 7.9.2
	* ElasticSearchPlugin.java ---> changed the testDatasource method to expect a 200 instead of a 200 or 404 HTTP status code

This commit fixes a high-priority bug with github issue  https://github.com/appsmithorg/appsmith/issues/14909
	* it can now negotiate around a 403 forbidden error as it does try to send head only to user provided  URI

This commit has been tested:
	* manually for CRUD at local with ES version 7.9.2
	* manually for CR at user provide aws instance running 7.9.3 on docker

* |
|	BugFix:
|
|       This commit changes two files:
|
|               * ElasticSearchPlugin.java --> added feature to distinguish between unauthorized and not found datasources.
|               * ElasticSearchPluginTest.java ---> added testcases to verify the unauthorized and not found test cases
|
|       This commit adds features on top of previous commit  https://github.com/appsmithorg/appsmith/issues/14909
|               * this commit adds the feature of more readable error messages while testing the elasticsearch datasource. i.e wrong endpoint errors and unauthorized issues
|
|       This commit has been tested:
|		* Junit
|		* manually

* removed leftover comments from the parent commit and updated response texts for better readability

* removed wildcard imports from appsmith-plugins/elasticSearchPlugin/src/test/java/com/external/plugins/ElasticSearchPluginTest.java
2022-08-03 16:31:00 +05:30
Sumit Kumar
f5de45dfd7
fix: fix Mongo plugin query execution failure (#15591)
* add handling for IllegalStateException
add TCs

* rename var
2022-08-02 14:55:06 +05:30
Arpit Mohan
f5c67840ea
chore: Closing resources to ensure there are no memory leaks (#15343)
This is based on warnings from Sonar's static code analysis.
2022-07-29 19:51:10 +05:30
Sumit Kumar
02f1451443
fix: fix query failure on simultaneous execution of multiple queries (#15458)
* update driver
remove connection closure when not required

* add connection pool
remove ssl options

* got working with postgres driver

* use Redshift driver instead of postgres

* updated JUnit TC
added comments
minor refactor

* add comment
cleanup

* update default port
2022-07-28 17:01:17 +05:30
Nidhi
6df4dafead
chore: Better server logging infra (#15440)
* Fixed a bunch of server side logging issues

* Tests

* Added ISO8601 timestamp to log format
2022-07-28 09:40:03 +05:30
Nidhi
833a6b05c4
fix: Modified available scopes for Google Sheets (#15169)
* fix: Modified available scopes for Google Sheets

* fix: Fixed locator reference

* Modified text for scope

* Fixed failing tests
2022-07-21 16:35:54 +05:30
Nidhi
50172ecd64
fix: Added support for self signed certificate during OAuth2 flows (#14719)
* Added support for self signed certificate during OAuth2 flows, server side changes

* fix: authentication.useSelfSignedCert key added

* Merging from release

* Fixed issue with dependencies, plus bug with using ssl

* Cypress test attempt 1

* Cypress test attempt 2

* Cypress test attempt 3

* Clean up

* Review comments

* Enabled compression again

Co-authored-by: Aman Agarwal <aman@appsmith.com>
2022-07-21 16:10:36 +05:30
Shrikant Sharat Kandula
bba78afc3b
chore: Upgrade dependencies reported by Dependabot (#13735)
Upgrades vulnerable dependencies in all plugins except for MySQL. That one is still failing and I'll fix it in a separate PR. Issue #14475

Co-authored-by: Nayan <nayan@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
2022-07-19 10:23:27 +05:30
subratadeypappu
41c3446f5b
fix: Enable parsing dates before Jan 1, 1970 in MongoDB (#15105)
* fix: Enable parsing dates before Jan 1, 1970 in MongoDB

This commit takes care of three things
1. It enables the application to parse dates before Jan 1, 1970 in case of MongoDB
2. JUnit test
3. Cypress test

* fix: Enable parsing dates before Jan 1, 1970 in MongoDB

This commit takes care of three things
1. It enables the application to parse dates before Jan 1, 1970 in case of MongoDB
2. JUnit test
3. Cypress test

Co-authored-by: Nidhi <nidhi.nair93@gmail.com>
2022-07-14 15:45:34 +05:30
Nidhi
02a5e1d490
fix: Added dropdown to select whether to send credentials in header or body in client credentials flow (#14545)
* Added dropdown to select isAuthorizationHeader in client credentials flow

* Added tests

* Added cypress test

* Oopsie
2022-07-13 14:33:19 +05:30
Nidhi
3c9543ad93
fix: Modified Google Sheets pagination tooltip to nudge towards binding data (#15016) 2022-07-05 15:21:55 +05:30
Nidhi
ff58dad704
fix: Switched Google Sheets JSON to local directory (#14971)
* fix: Switched Google Sheets JSON to local directory

* fix: Fixed placeholder text for insert row object

* fix: Enabled server side caching of plugin resources again
2022-07-04 22:02:54 +05:30
Nidhi
906a7298dc
feat: Simplified Google Sheets queries (#14869)
* Client changes 1

* add DSL functionality

* Temp commit for refactoring changes

* Do I even know what I'm doing here?

* chore: Second GS layout

* Update: Visibility conditional outputs for schemas

- Added the output from conditional outputs for schema children too

* Update: Entity selector visibility control

- Added logic for controlling visibility of sub components via the JS expressions system

* Update: Passing disabled prop to toggle button

* Update: Passing disabled prop to toggle btn

* Update: Styled component for toggle button

- Added disabled styles based on the disabled prop sent to the toggle form view JSON button

* Update: configProperty role in Entity Selector

- Removed dependance of the configProperty of the entity selector children to it's parent component

* Update: type of placeholder key

- Made placeholder key from form config JSON to accept either string or an object
- Earlier only string was accepted
- This is for pagination component

* Update: Added placeholder control for pagination

* Client changes 1

* add DSL functionality

* Do I even know what I'm doing here?

* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design

* fix: updated tooltip component for wrong ui on entity explore

* temp triggers

* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design (#12395)

* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design

* fix: updated tooltip component for wrong ui on entity explore

* fix: updated tooltip ui, where condition placement, sort by ui

* temp form data access logic

* fix: updated sorting type width ui

* fix: updated ui for spacing, width and text issues

* Update: Type for tooltip of UQI forms

- Added option to send an object to the tooltipText object.
- This allows for composite components like pagination to have tooltips for each sub component

* Update: tooltip for pagination component

- Added handling to parse the tooltip for multiple components.
- This allows for composite components like pagination to have tooltips for each sub component

* Update: Type cast for tooltip component

- Made the content passed to tooltip component as a string only

* Update: Fixed tooltip component CSS

* Update: Dropdown option component

- Added a tooltip wrapper to each option
- This is to show on hover text like disabled state

* fix: updated ẇhere clause broken ui for condition

* Add: functions to check and extract expressions

- Loop through the formConfig and find any keys that have a value that is bindable
- Used pre defined regex to check if value is a moustache binding

* Add: Types for evaluated form configs

- Added types for the form configs to be evaluated and their output post eval

* Add: Flow to run the form config

- Run the form config and update the result to the redux state

* Update: Name of the type for formconfigs

- Updated since it was clashing with a component of the same name

* Add: Function to enforce config type checks

- This is done so that the improper configs can be weeded out and the rest of the form can be shown

* Add: Function to update evaluated config

- Added option to update the config if it's values needed evaluation

* Add: Type check for schema sections

* Update: Error handling for invalid control type

- We were throwing an exception till now, changed it to a warning text

* Add: Exposed tooltip for dropdown option disabled state

* Update: switch to json mode functionality

- Added logic to convert data to a string rather than an object when the first switch to JSON mode happens

* Update: Added key to tooltip for dropdown options

* Trigger API modification

* Add: function to fetch default trigger URL

* Update: Made URL optional in dynamic trigger config

* Update: Dynamic trigger API call

- Made the API call for dynamic triggers have URL as optional field
- Added type check to the response of the API call

* Update: resp type for trigger APIs

* Update: Moved code to utils folder

- Moved functions for UQI form eval processing to utils file

* Update: passing original controltype to JS switch

* Update: config for JSON editor mode

- Updated the config to have different options for JSON mode depending on the original control type

* Update: Connected line numbers flag to config

* Revert: CSS changes for tooltip

* Refactor: Removed consle

* Add: type for the config of dynamic values

* Add: Feature to evaluate config for triggers

* Refactor: fix type check errors

* fix: dropdown ui width with text alignment

* Update: fixed selector for dynamic values

* Update: selector call for fetchDynamicValues

* Add table header index prop for columns selector

* migration partial commit

* migration partial commit

* Refactor: removed unused import

* Update: reused function for checking dynamic value

* Update: removed unused import

* Fix format JSON issues

* Retrieve binding paths from entity selector components

* Fixes 6 remaining issues with UQI implementation

* Fix dropdown issues

* Fix dropdown height issues and fixes triggering of APIs when option is deselected

* Migration changes

* Fix QA generated UQI issues

* Fix projection component height and route change logic

* Fix multi select dropdown placeholder text issue and json stringify issue with switching view types

* Reset entity type value when command value changes

* Test changes

* Review comments

* Moved migrations around

* Corrected import statement

* Added JSON schema migration

* Updated schema version

* perf improvements and filter dropdown options feature

* Fix Code mirror component config for toggleComponentToJson input fields.

* Fix prettier issues

* fix prettier issues

* Fix style issues as a result of the merged conflicts

* Fix failing test case

* Fixed a few other flows (#14225)

* Fixed a few other flows

* Review comments

* Fix generate CRUD, fix evaluation of dynamic bindings and fix various styling issues.

* More fixes (#14367)

* Factor in the root formconfig parent key.

* Fix flickering issues, and evaluatedFormConfig issues

* fix: Teeny bugs (#14455)

* Teeny bugs

* Added previous functionality as is

* Improvements in the way we fetch dynamic values

* Fix stringiification issue and cyclic dependency issues

* Resolve projection component values deletion

* Resolve merge conflicts and fix prettier issues

* fix: Tsc issues

* Fix property pane connection navigation

* updating ee locator

* updating inputfield locator

* dropdown locator update

* Merge conflict not properly resolved.

* Fix s3 spec

* Fix Mongo Spec

* Fix some more tests

* fix: prevent cyclic dependency when switching to js mode (#14668)

* add delete events for change from array to string in diff

* add test to assert absence of cyclic dependency error when switching to js in switchgroup widget

* Assert that evaluation is not disabled when no cyclic dependency happens

* Cypress test preparations for google sheets and form controls

* Fixed a few test errors (#14874)

* Add: unit tests for uqi UI updates

- view type tests
- conditional output extraction
- processing conditional output to handle view/enabled state of the component

* Add: completed isValidFormConfig test

* Update: improved tests for update config

- These tests cover the functionality to update a section config after it's components are done evaluating

* Fix failing cypress tests and cyclic dependency issue

* Fixes some more tests

* Fixed migration of row objects (#14896)

* Bumped the version of design system package

* Update: reverted change to EE selector

* Fix deletion pointer

* Update: selector for js on load spec

- Synced with changes related to ADS dropdown

* Fix mongoDBShoppingCart spec

* Remove comments

* Fix: mongo shopping cart test failures

* fix: mongo shopping cart spec

* Dummy push to retrigger vercel

* fix: mongo shopping cart spec

* Update MongoDBShoppingCart_spec.js

* fix: removed unused click away

* dummy commit

* Update: moved helper functions to separate file

* Add: added tests for saga functions

- Worked on testing for
   - extractFetchDynamicValueFormConfigs
   - extractQueueOfValuesToBeFetched

* Add if check for queueOfValuesToBeFetched

* Resolve review comments

* Empty-Commit

Co-authored-by: Irongade <adeoluayangade@yahoo.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com>
Co-authored-by: Albin <albin@appsmith.com>
2022-07-04 11:13:27 +05:30
dependabot[bot]
5e0677bc5d
chore: bump mysql-connector-java from 8.0.20 to 8.0.28 in /app/server/appsmith-plugins/mysqlPlugin (#14696)
chore(deps-dev): bump mysql-connector-java

Bumps [mysql-connector-java](https://github.com/mysql/mysql-connector-j) from 8.0.20 to 8.0.28.
- [Release notes](https://github.com/mysql/mysql-connector-j/releases)
- [Changelog](https://github.com/mysql/mysql-connector-j/blob/release/8.0/CHANGES)
- [Commits](https://github.com/mysql/mysql-connector-j/compare/8.0.20...8.0.28)

---
updated-dependencies:
- dependency-name: mysql:mysql-connector-java
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-01 00:41:23 +05:30
subratadeypappu
507caf2ebd
fix: Garbled characters in API response (#13515)
* fix: Consider zip compression info from API response header (#13515)

This commit fixes two things
- If certain API has Accept-Encoding header then Appsmith will take care of this before rendering response to the client
- Used MediaType.includes function for more extensive matching of the requsted API's content type

* fix: Add unit test on consuming API with gzip encoded response (#13515)

This commit takes care of two things
- Unit test on consuming an API which has response being encoded in GZip format
- Set default content-type to "text/plain" in case the content-type is not present in API response

* fix: Add Cypress test on consuming API with gzip encoded response (#13515)

This commit takes care of the following
- Cypress test on consuming an API which checks if it can read any property from the response sent from the API server encoded in GZip format
2022-06-24 15:22:51 +06:00
subratadeypappu
04f11d5910 Merge branch 'release' into fix/14054-describe-table-in-mysql 2022-06-17 11:25:58 +06:00
sidhantgoel
0ccc1aee93
fix: Fixes issue where CI was not executing all tests (#14338)
* made test classes public

* added surefire compatible with junit 4

* Revert the changes of tests class accessibility

* Fix test failures

* test case fixes

* fixed NPE

* Fixed failing tests

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Nidhi <nidhi.nair93@gmail.com>
2022-06-15 12:04:28 +05:30
sidhantgoel
6b8b6c0bb2
Fix Java package names (#14034)
fix for java file path based on package name otherwise it was not working in vscode
2022-06-07 13:40:00 +05:30
sidhantgoel
7fc5dc059a
Merge pull request #13999 from appsmithorg/fix/mysql_testfix
fixed mysql plugin tests
2022-06-04 17:10:20 +05:30
Sumit Kumar
910875ddfc
fix: fix class cast exception seen on MySQL plugin when built on local setup (#14099)
* fix class cast exception by removing all netty.io packages from mysql r2dbc
* fix CI test failure
2022-06-02 17:14:21 +05:30
subratadeypappu
c52ce5200d fix: Show table structure when desc table or describe table command is run stand-alone in MySQL (#14054) 2022-06-01 19:23:42 +06:00
subratadeypappu
531f5f89d5
fix: Upgrade Lombok package version to 1.18.22 to avoid build error (#14080) (#14156)
Update lombok packages to version 1.18.22
2022-06-01 10:29:42 +00:00
Shrikant Sharat Kandula
73e43fadbd
Support for custom CA certificates (#14207)
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-06-01 11:14:27 +05:30
Sidhant Goel
7e24ae2126
fixed mysql plugin tests 2022-05-21 16:47:42 +05:30
Leo Thomas
9ddb11dbfb
SQL Server Connection pool with HikariDataSource (#13707)
Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
2022-05-18 22:03:39 +05:30
Leo Thomas
c8fce60831
fix: Firestore where condition issue (#12929)
* Fix 11141-Added JDBC override parameter for resolving Cast Errors with timestamp

* Firestore Where condition Unit Test for Arrays

* Code review comments update

* removed two unrelated file somehow added here from the previous PR

* Code review comments update V2

* Code review Comments Fix - Second

* Removing the frontend Changes related to dropdown width

Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
2022-05-06 13:58:17 +05:30
Nidhi
ea6debab20
fix: Added contains and not equals options to where clause in Google Sheets (#13208) 2022-04-26 20:03:17 +05:30
Leo Thomas
c8f88ed977
fix: 11141-JDBC override parameter for resolving TZ Cast Errors (#12821) 2022-04-20 14:50:49 +05:30
Aman Agarwal
4f4d1400c5
fix: updated the condition to show expiry key (#13092) 2022-04-20 11:32:01 +05:30
Nidhi
b2d356bcce
fix: Fixes connection pool minimum size to 0, also refactored uri related operations (#12837) 2022-04-12 16:33:07 +05:30
Nidhi
e36b352a42
fix: Conversion logic for expires in field (#12781) 2022-04-11 11:27:24 +00:00
Leo Thomas
f8cc2f5e54
fix: add support for reading DBRef type in Mongo plugin (#12670)
* DBRef fix with codec

* Added code comments regarding custom codec implemented

* Added Unit Test for Mongo DBRef

Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
Co-authored-by: Sumit Kumar <sumit@appsmith.com>
2022-04-11 09:38:17 +05:30
Sumit Kumar
cffc445824
fix: update check for GSheet where condition (#12729) 2022-04-08 22:33:47 +05:30
Nidhi
981c618420
fix: Using form url encoded content type for token requests (#12597)
* fix: Using form url encoded content type for token requests

* fix: Using form url encoded content type for cc as well

* fix: Conversion logic for expires in field
2022-04-05 17:47:44 +00:00
Sumit Kumar
f201ec7bcd
fix: make region a non-mandatory field (#12510)
* Currently S3 plugin datasource requires the region field to be non-empty for it to work (when configured with other as the datasource type from dropdown). However, this field is not required for many S3 offerings. Hence, making it non-mandatory.
2022-04-04 13:06:58 +05:30
Sumit Kumar
c2f39f4eda
feat: [server side change only] convert Mongo's form data to raw / native query (#10058) 2022-04-01 18:44:32 +05:30
dependabot[bot]
b39190ad57
chore: bump spring-core from 5.3.15 to 5.3.18 in /app/server/appsmith-plugins/googleSheetsPlugin (#12471)
Bumps [spring-core](https://github.com/spring-projects/spring-framework) from 5.3.15 to 5.3.18.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v5.3.15...v5.3.18)

---
updated-dependencies:
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 14:18:34 +05:30
dependabot[bot]
088e9f07f0
chore: bump jackson-databind from 2.12.6 to 2.12.6.1 in /app/server/appsmith-plugins/googleSheetsPlugin (#12403)
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.12.6 to 2.12.6.1.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 14:17:23 +05:30
dependabot[bot]
1d835dfadb
chore: bump jackson-databind from 2.10.5.1 to 2.12.6.1 in /app/server/appsmith-plugins/restApiPlugin (#12401)
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.10.5.1 to 2.12.6.1.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 14:16:59 +05:30
dependabot[bot]
1e50701075
chore: bump jackson-databind from 2.12.6 to 2.12.6.1 in /app/server/appsmith-plugins/snowflakePlugin (#12402)
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.12.6 to 2.12.6.1.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 14:16:10 +05:30
dependabot[bot]
de6dbc17ae
chore: bump spring-core from 5.2.3.RELEASE to 5.3.18 in /app/server/appsmith-plugins/restApiPlugin (#12472)
Bumps [spring-core](https://github.com/spring-projects/spring-framework) from 5.2.3.RELEASE to 5.3.18.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v5.2.3.RELEASE...v5.3.18)

---
updated-dependencies:
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 12:57:47 +05:30
dependabot[bot]
e7f0e5b7b0
chore: bump spring-core from 5.2.3.RELEASE to 5.3.18 in /app/server/appsmith-plugins/jsPlugin (#12473)
Bumps [spring-core](https://github.com/spring-projects/spring-framework) from 5.2.3.RELEASE to 5.3.18.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v5.2.3.RELEASE...v5.3.18)

---
updated-dependencies:
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 12:57:07 +05:30
dependabot[bot]
ad910fe03e
chore: bump spring-core from 5.2.3.RELEASE to 5.3.18 in /app/server/appsmith-plugins/saasPlugin (#12475)
Bumps [spring-core](https://github.com/spring-projects/spring-framework) from 5.2.3.RELEASE to 5.3.18.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v5.2.3.RELEASE...v5.3.18)

---
updated-dependencies:
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 12:54:22 +05:30
dependabot[bot]
92cf99f025
chore: bump spring-core from 5.2.3.RELEASE to 5.3.18 in /app/server/appsmith-plugins/snowflakePlugin (#12474)
Bumps [spring-core](https://github.com/spring-projects/spring-framework) from 5.2.3.RELEASE to 5.3.18.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v5.2.3.RELEASE...v5.3.18)

---
updated-dependencies:
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 12:11:20 +05:30
Nidhi
06300a1758
fix: Using blobs for multipart data (#12240) 2022-03-30 13:10:05 +00:00
rashmi rai
bfd96334af
fix: where clause improvements (#11748) 2022-03-27 19:10:48 +05:30
Mojtaba
5cac8cb3b9
feat: Add Array type to MultipartFormDataType variants for REST api (#11386)
* feat: Add Array type to MultipartFormDataType variants
 and handle every item in list as a part in multipart request

* fix: add array options

* fix: rename file to  array value

* fix: parse Array from json text

* fix: reformat the code and remove `System.out.println`

* fix: testParseMultipartArrayDataWorks is more accurate now

Co-authored-by: Segun Daniel Oluwadare <dodanieloluwadare@gmail.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-03-26 20:08:55 +01:00
Sumit Kumar
40f4e3c755
fix: S3 plugin: provide support for MinIO (#11766)
* update option label

* add minIO as a separate datasource option
add datasource connection changes to support minIO without SSL and when using CA signed certificates

* fix cypress tests
2022-03-24 18:28:00 +05:30
Sumit Kumar
027161e033
fix smart substitution setting toggle fetch method and path. (#12181)
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-03-24 17:55:32 +05:30
Sumit Kumar
a486474483
rename variable. (#12204) 2022-03-24 16:38:52 +05:30
Sumit Kumar
47ad7cc9b1
feat: add JSON smart substitution feature to Firestore plugin actions
* This PR adds the JSON smart substitution feature to Firestore plugin actions.
* This smart substitution will work exactly the same way as it works for REST API actions.
* Currently, smart substitution only gets applied to the body section of Create, Set, Add or Update commands as this is the only input field that expects a JSON input type.
* It can be toggled On/Off via the Settings tab.
* It is set to On by default. However, data migration has been added to set it to Off for all existing Firestore actions so that they are not impacted by this PR's changes.
2022-03-24 13:02:54 +05:30
Nidhi
1ca9fd803a
fix: S3 formData path for bucket name (#12049) 2022-03-22 12:56:42 +01:00
Nidhi
c97b7e31e7
chore: Migrations to enable JSON and form mode (#11534)
* feat: added new component to perform generic json raw toggle functionality

* chore: Migration to convert formData references

* fix: Redid migration for per plugin changes, fixed consumption

* fix: Added JSON migration for git import

* Added JSON migration as well

* Reverted client side changes

* fix: Modified plugin config aggregation logic

* Merge conflict fixes

* different paths for different commands

* Whoopsie

* Modified usage to different paths

* Reverting env change

* Config changes to show json mode

* Test fixes

* Migrated body,path,next,prev

* Cypress test fixes

* Modified dynamic binding replacement

* Changed view type

* Reverted json form mode display

* Modified structure of JSON mmigrations

Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-03-21 11:22:14 +05:30
Leo Thomas
7a038400e5
fix: 10527 Google Sheet crud generation header issue v2 (#11664)
* fix: 9824 Google Sheet to filter empty condition ver.2

* Code review comments updated

* Updates as per review comments - Ver 3

* Resolved errors found during testing

* Code review comments fix

* fix:10527 Google Sheet Crud Generation header issue

* Code review comments implemented

* Updated review comments

* code review - resolve test cases issue

Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
2022-03-16 20:20:10 +05:30
Leo Thomas
60079faa58
fix: GSheet incorrect error message fixed (#11699)
Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
2022-03-10 14:57:54 +05:30
Nidhi
966564d2bc
fix: Modified root json for SMTP to comply with UQI aggregation rules (#11676) 2022-03-07 14:56:54 +05:30
devnamrits
406fa0cc3d
fix: firestore queries asterisk (#11599)
* fix: remove asterisk from non-mandatory fields in firestore query

* making one false

* fix: remove asterisk from non-mandatory fields in firestore query

* fix: remove asterisk from non-mandatory fields in firestore query

Co-authored-by: Hritik Kumar <devnamrits@Hritiks-Mac.local>
2022-03-03 22:08:44 +05:30
Nidhi
8b1638aba6
chore: Modified plugin config aggregation logic (#11561)
* fix: Modified plugin config aggregation logic

* Modified logs a bit

* Reverted incorrect path from another branch
2022-03-03 19:26:55 +05:30
Mojtaba
29be75e0e9
feat: add smart substitution handling for known MongoDB types (#11135)
* shelf: start working on substitution for `ISODate`

* a draft for Sumit to check what I did wrong in my tests

* test: tests are working

* test: cleanup

* refactor: add replacementDataType parameter to DataTypeStringUtils.jsonSmartReplacementPlaceholderWithValue

* fix: remove quotes for Mongo Types work in single form, arrays and json.

* add handling for more use cases
add/update more TCs

* add comments

* add more comments

* add space (cosmetic change)

Co-authored-by: Sumit Kumar <sumit@appsmith.com>
2022-03-02 22:33:50 +05:30
Nidhi
5c994975d7
fix: Modified action execution endpoint (#9473) 2022-03-02 16:01:50 +00:00
Mojtaba
dad6dfb636
fix: Fixed test MongoDB datasource shows ok even if there is no database matching the name in the 'Default Database Name' input (#11238) 2022-02-18 10:41:01 +03:30
Mojtaba
497dd1a21b
fix: showing invalid credentials message on MongoDB test datasource if there is an unauthorized error (#11124)
* fix: if test datasource gets Unauthorized accessing admin database
It will try to access the default database.

* fix: fix broken test

* fix: cleanup unused imports

* test: make test more readable with better comments
2022-02-16 14:03:13 +05:30
Leo Thomas
4c81347128
fix: 7794 Google Sheet Fails with Mixed Datatype (#11089)
* fix: 7794 Google Sheet Fails with Mixed Datatype

* resolved failing test cases after new implementation

* Added code comments to the changes

Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
2022-02-16 08:22:40 +00:00
dependabot[bot]
7ddf4d0ab2
chore: bump postgresql in /app/server/appsmith-plugins/postgresPlugin (#11190)
Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.2.25 to 42.3.3.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.2.25...REL42.3.3)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-16 08:57:41 +05:30
Félix Suarez Bonilla
9bcd4afff1
feat: Add Mongo Templates for plugin. (#11153)
Adds templates for the Aggregate, Distinct and Count commands for the MongoDB plugin.
2022-02-15 10:29:01 -06:00
Nidhi
7a8db4270a
fix: Added channel timeout configurations for REST WebClient provider (#11177) 2022-02-15 13:19:20 +00:00
Arpit Mohan
286864eb3d
feat: Support body in GET API requests (#7127)
* WIP

* Refactoring HTTP Method & Content Type to be objects instead of arrays

TODO:
1. Set the default content-type for Get request to "None". Currently, it's raw
2. For None content-type, don't send the body field in the API request

* Almost working implementation for the None type

Currently, the body still gets sent in non-GET requests even if the None tab is selected.

* Adding object.freeze to prevent any modifications to HTTP_METHOD_ENUM

* WIP: Using enum & const for ts autocomplete

* working implementation for NONE type, apiContentType prop added to API actions

* WIP

* Refactoring HTTP Method & Content Type to be objects instead of arrays

TODO:
1. Set the default content-type for Get request to "None". Currently, it's raw
2. For None content-type, don't send the body field in the API request

* Almost working implementation for the None type

Currently, the body still gets sent in non-GET requests even if the None tab is selected.

* Adding object.freeze to prevent any modifications to HTTP_METHOD_ENUM

* WIP: Using enum & const for ts autocomplete

* working implementation for NONE type, apiContentType prop added to API actions

* adds apiContentType to actionConfiguration.formData object

* Handling apiContentType property in Rest API formData

* change apiContentType when user types content-type value and switches http method

* makes api editor as similar as possible to postman, project postman.

* Correcting the import in ApiEditorConstants

* Resolved all merge conflicts

* replay DSL functtionality

* removes unneccessary files from worker

* Fixes type declarations, naming e.t.c.

* fix server side merge conflicts

* fix client side merge conflicts

* fix failing cypress tests

Co-authored-by: Irongade <adeoluayangade@yahoo.com>
Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com>
2022-02-15 11:13:48 +00:00
Sumit Kumar
d208792786
fix: S3 plugin: remove Expiry Duration config from Read file query
* This PR removes the Expiry Duration field from the Read file command of S3 plugin.
* An Expiry Duration field got added to Read file command mistakenly some time post migration to UQI schema. This field did not exist with the read command before the migration and does not get used even now.
2022-02-15 12:24:48 +05:30
Nidhi
1868675349
feat: Self-signed certificates for REST APIs (#11043)
* feat: Self-signed certificates for REST APIs

* Changed scope for netty dep
2022-02-15 06:54:26 +00:00
Sumit Kumar
d03f503657 add new command: delete multiple files
add template for delete multiple files
add template for create multiple files
add / update TCs
2022-02-14 10:18:01 +05:30
Sumit Kumar
004bd89e7a fix read.json 2022-02-14 07:07:10 +05:30
Mojtaba
f6463d0cf8
fix: Added stricter validation for Mongo pipeline (#11034)
* fix(mongoPlugin): try to make JSON validation more strict

* test(mongoPlugin): add testAggregateCommandWithInvalidQuery
2022-02-09 22:04:03 +05:30
Sumit Kumar
aa2290405d
fix: fix refresh token flow in REST API OAuth (#10875)
Co-authored-by: Segun Daniel Oluwadare <dodanieloluwadare@gmail.com>
2022-02-09 09:38:58 +05:30
Leo Thomas
6e7687450e
fix: 9414 Firestore where clause not fetching numbers (#10775)
* Fixed issue with Firestore in fetching data while using numbers in the where condition.
* Other Fixes made in the where condition :
  When using Boolean
  When using Date 
  When Using Timestamp 
  When given space in the key
  When Space given in the Value
2022-02-08 11:29:50 +00:00
Snyk bot
194b78b4c4
chore: Upgrade org.springframework:spring-webflux from 5.2.3.RELEASE to 5.3.15 (#4586)
* fix: upgrade org.springframework:spring-webflux from 5.2.3.RELEASE to 5.3.15

Snyk has created this PR to upgrade org.springframework:spring-webflux from 5.2.3.RELEASE to 5.3.15.

See this package in Maven Repository:
https://mvnrepository.com/artifact/org.springframework/spring-webflux/

See this project in Snyk:
https://app.snyk.io/org/nikhil-nu4/project/1b8549de-d47e-4508-85dd-9a19fa240760?utm_source=github&utm_medium=upgrade-pr

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
2022-02-07 09:49:47 +05:30
dependabot[bot]
38108cc098
chore: bump postgresql in /app/server/appsmith-plugins/postgresPlugin (#10809)
Bumps [postgresql](https://github.com/pgjdbc/pgjdbc) from 42.2.12 to 42.2.25.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.2.12...REL42.2.25)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-05 00:51:45 +05:30
Shrikant Sharat Kandula
6967c35531
fix: Disallowed IPs can be bypassed by using a CNAME/A record (#10868)
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-02-03 21:23:04 +05:30
Sumit Kumar
6f83df976d
feat: add sorting and pagination features to S3 plugin (#10736)
* add sorting and pagination features to S3 plugin
2022-02-03 06:15:01 +00:00
Mojtaba
170c263f9c
Merge pull request #10711 from appsmithorg/fix/9221-mysqlPlugin_user_with_empty_password
fix(mysqlPlugin): MySQL allow empty password if user is not empty
2022-02-02 18:39:51 +03:30
Shrikant Sharat Kandula
b1997b8b08
fix: Disallow access to instance metadata hosts (#10797)
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-02-01 18:07:08 +05:30
Mojtaba Zarezadeh
d1ddebd3d8 merge all tests in one file 2022-02-01 13:02:53 +03:30
Mojtaba Zarezadeh
8197ebf297 fix: add single imports 2022-02-01 10:32:55 +03:30
Mojtaba Zarezadeh
e400ea0e80 cleanup: improve comments 2022-01-28 13:03:07 +03:30
Mojtaba Zarezadeh
6d3be8c283 fix(mysqlPlugin): allow empty password if user is not empty 2022-01-28 11:43:21 +03:30
Nidhi
c7d1e87c0a
fix: Removed tracking on Sentry for unsupported plugin operation (#10636) 2022-01-26 19:02:48 +05:30
Sumit Kumar
610d665aae
add query params to form.json (#10574) 2022-01-26 12:59:07 +05:30
Leo Thomas
aec120bc3c
fix: Spaces in Google Sheet name (#10605) 2022-01-25 10:52:40 +05:30
Leo Thomas
d5d37a512f
fix: Prevent Google Sheet bulk insert from overwriting existing rows (#10435)
This PR fixes the issue when bulk inset of data overwrites existing rows
Fixes #5076

Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
2022-01-20 10:33:30 +05:30
Favour Ohanekwu
72f8b7e2e1
feat: Support OAuth for all plugin types (#9657)
* customize datasource authorization

* improve performance

* fix save datasource bug

* switch auth type from form config

* better naming of components

* fix minor bug

* minor bug fix

* minor bug fix

* syntax cleanup

* Add comments where necessary

* Added comments where necessary

* fix broken airtable page

* code refactor and annotation
2022-01-14 12:01:54 +05:30
Sumit Kumar
18edb18b20
fix: implement getStructure method for S3 plugin (#8919)
* Add `getStructure` implementation for S3 to return a list of accessible buckets.
* Add command templates for S3.
  - List files
  - Read file
  - Create file
  - Delete file
* Remove getDatasourceMetadata implementation as getStructure method can be directly used now.
2022-01-13 11:33:50 +05:30
Nidhi
1d1dd72106
fix: Fixed encoding for all requests in Google Sheets (#10313)
* Fixed encoding for all requests in Google Sheets

* Additional commit for CI check
2022-01-13 05:23:11 +00:00
Sumit Kumar
f045af8bfc
feat: Mongo plugin: add limit field to aggregate command to allow users to define batchSize (#10257)
* This PR adds a limit field which sets the batchSize for aggregate command. This way the user can set the number of documents they want in their Mongo query result.
* limit is set to 10 initially. However, for pre-existing Mongo actions, migration has been added to set this field to 101 - which is the default value that has been used by Mongodb in the absence of any user set value. Ref: https://docs.mongodb.com/manual/tutorial/iterate-a-cursor/
2022-01-10 16:42:30 +00:00
Leo Thomas
9cd89884bf
fix: 9648 The Update query fails to update for all matching Document in mongo (#9975)
* fix:9648 Mongo update All issue-In Progress

* fix: Mongo Multi update query fail fixes

* Added updated testcases that got affected by the code change

* Changes reverted as per review comments
2021-12-31 19:12:19 +05:30
Snyk bot
703d47f7b1
chore: [Snyk] Security upgrade com.fasterxml.jackson.core:jackson-databind from 2.10.5.1 to 2.12.6 (#10014)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JAVA-COMFASTERXMLJACKSONCORE-2326698
2021-12-28 12:09:34 +05:30
Snyk bot
7e6a48c7b8
chore: [Snyk] Security upgrade com.fasterxml.jackson.core:jackson-databind from 2.10.5.1 to 2.12.6 (#10015)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JAVA-COMFASTERXMLJACKSONCORE-2326698
2021-12-28 12:08:53 +05:30
Nidhi
e6f4513b48
fix: Appends authSource param to mongo URI if absent, also fixes inability to connect to mongo without user info (#9995) 2021-12-24 19:42:04 +05:30
Leo Thomas
69c76c299f
fix: Incorrect error handling when incorrect sheet name is used in Google Sheets query (#9771)
* fix/9463-Incorrect error handling when incorrect sheet name is used in Google Sheets query

* Code review changes v1
2021-12-23 21:25:02 +05:30
Sumit Kumar
4b75f77caa
feat: add support for projection, sort and pagination. (#9712)
* Add API server support for UQI's Projection, Sorting and Pagination feature.
2021-12-23 14:16:49 +00:00
Sumit Kumar
cdcb657229
add query params from datasource to URI (#9963)
Add query params from datasource to final URI used for REST API query.
2021-12-23 14:15:54 +00:00
Sumit Kumar
c858edf726
fix Mongo smart substitution for quotes around ObjectId (#9856)
- fix Mongo plugin's smart substitution feature to handle quotes around ObjectId in array. e.g. Initial replacement value: ["ObjectId(xyz)"] , final replacement value: [ObjectId(xyz)]
- unrelated: added version number to lombok dependency to stop build failures in IntelliJ.
2021-12-21 18:47:19 +05:30
Sumit Kumar
b8cfc18f7f
fix: fix firestore pagination cyclic dependency error (#9892)
* fix firestore pagination cyclic dependency error
fix firestore UQI migration error

* fix TC
2021-12-21 11:27:05 +05:30
Leo Thomas
77433cf62b
feat: Add support to send arbitrary form values to oAuth server during Datasource authentication (#9660)
* feat:9389  Add support to send arbitrary form values to oAuth server during Datasource authentication

* Changes related to Code Review Comments of PR 9650

* Changes implemented to set custom Key Value pairs

* Resolved Code Review comments

* Resolved Code Review comments
2021-12-21 10:12:26 +05:30
Arpit Mohan
96677ef673
fix: Updating log4j to 2.17.0 to prevent JNDI lookups (#9863)
Also making minor edit to not show "Application name updated" toast message. This is a counter-productive toast that is distracting the user
2021-12-20 16:01:08 +05:30
Leo Thomas
03afb6df22
fix: Handled a possible null key from headers - NullPointerException in sentry (#9810) 2021-12-18 22:42:00 +05:30
Leo Thomas
ec755d261c
fix: Google sheets Bulk insert of empty array returns an error (#9725)
* fix/8924-Bulk Insert throwing error on empty data in google sheets new1

* fix/8924 Error in bulk insert empty data

* fix/8924 Code review fix for Google Sheet Bulk insert error

* fix/8924 Code review fix for Google Sheet Bulk insert error

* Fixed code review comments

* Methodconfig data changes since only empty Mono is being tested
2021-12-17 10:13:08 +05:30
Nidhi
e48a51c166
fix: Ignore form data elements with null keys (#9769)
* fix: Ignore form data elements with null keys

* Added reference to constant instead of using a String
2021-12-16 09:54:38 +00:00
Sumit Kumar
7909ae8680
feat: port Firestore plugin to UQI (#9393)
* Port Firestore plugin to UQI schema
* This PR implements a non-functional requirement i.e. from an end user perspective there is no change in the features that the plugin provides. However, the underlying DSL to render and interpret the query interface has been updated.
* It also involves a migration change to port existing Firestore plugin actions to the new UQI schema.
2021-12-16 13:31:09 +05:30
Nayan
28c181b59c
feat: [Feature] Upgrade spring boot version to 2.5.5 (#8932)
Upgrades spring boot version to 2.5.5
2021-12-14 16:22:37 +06:00
Nidhi
d3a100e02f
feat: Added action to upload multiple files in S3 (#9337)
* feat: Added action to upload multiple files in S3

* Added test case for multiple file uploads

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2021-12-10 10:43:12 +00:00
Arpit Mohan
b5e27aaa57
feat: Adding a SMTP plugin (#8927) 2021-12-07 09:15:15 +05:30
Nidhi
0a4e1a3e6d
fix: Send unsupported message when trying to test SaaS integrations (#9335) 2021-11-30 17:37:22 +00:00
Leo Thomas
4c29436974
fix: Google Sheet Plugin Numeric inputs Whitespace issue. (#9364)
* fix:Google Sheet Plugin Numeric inputs Whitespace issue.

* fix:Google Sheet Plugin Numeric inputs Whitespace issue - Review 1
2021-11-29 05:51:33 +00:00
Nidhi
bdc6a342e6
fix: Modified multipart logic to avoid exception handling (#9246)
* Modified multipart logic to avoid exception handling

* Error handling for unknown type
2021-11-19 13:20:51 +05:30
dependabot[bot]
eea5c0d313
chore: deps bump jackson-databind from 2.10.4 to 2.10.5.1 in googleSheetsPlugin(#9235)
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.10.4 to 2.10.5.1.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-19 05:03:07 +00:00
dependabot[bot]
054399b856
chore: bump httpclient from 4.5.3 to 4.5.13 in arangoDBPlugin (#9234)
Bumps httpclient from 4.5.3 to 4.5.13.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-19 09:45:24 +05:30
Trisha Anand
81d5cffc44
feat: UQI where clause support (#9051)
* Added parsing of where condition to Condition format

* Refactoring the name of functions to denote old style before implementing UQI where clause

* Updated the error message for data type problem for mixed data tyeps

* Generating complex logical expression.

* Working version of filtering happening without refactoring of code

* Added where clause configuration in List files in a bucket command.
Not able to render due to some configuration issue.

* Untested code completion

* To be reverted. Ayush's changes.

* Tested where condition on S3 List

* Made AND the default option for where clause

* where clause working in case of no valid inputs provided.

* Added parallel test cases as that were existing for the old where clause

* Revert "To be reverted. Ayush's changes."

This reverts commit a0f9b72e241f0688b7ef07cea8c3017473423512.

* Making equality the default option in a new where clause for LIST command

* Added test cases incorporating the review comments.

* Updated the options for the where command in S3 plugin. Removed the comparison operators except equality, non equality and belonging (in and not in) operators.

* Added catching of exception while parsing the operator into known appsmith condition types

* Reusing objectmapper from BasePlugin instead of creating a new one here.
2021-11-18 15:45:43 +05:30
Nidhi
93de065fa8
feat: Added Smart substitution support for S3 (#9124)
* Test case

* Dummy commit for tests to pass

* Removed logic for double escapes

* Renamed from BSON to JSON
2021-11-15 10:57:41 +05:30
Trisha Anand
94f312726b
fix: Updating the MS-SQL select query template to use TOP instead of LIMIT since LIMIT is not supported in the same. (#9082) 2021-11-12 10:48:43 +05:30
Nidhi
f1cca06feb
fix: Add support for dynamic bindings in Google Sheets URL field (#9108) 2021-11-11 18:18:39 +05:30
Nidhi
54cc5b8ff4
fix: Add support for content type in create file for S3 plugin (#9021) 2021-11-10 07:44:36 +05:30
Nidhi
ec34ef9a91
fix: Added support for multiple files in multipart REST (#8986)
* fix: Added support for multiple files in multipart REST

* Added test case

* Review comment

* Review comment
2021-11-09 10:33:54 +05:30
Sumit Kumar
3c8583210f
feat: remove region requirement from s3 plugin (#8829)
* Remove Region field from S3 datasource editor page for AWS S3, Upcloud, Digital Ocean Spaces, Dream Objects, Wasabi.
  * Use SDK provided property for AWS S3 to delegate region selection to the SDK.
  * Extract region info from endpoint URL for Upcloud, Digital Ocean Spaces, Dream Objects and Wasabi, since the SDK property does not work for these service providers.
* Removed some redundant checks from datasourceCreate that were already part of validateDatasource
* Fix show clause in list.json
2021-11-03 16:23:53 +05:30
Trisha Anand
b57e0c245d
fix: Get buckets in S3 plugin during generate CRUD page (#8781)
* Fix: Generate page fix for S3 plugin

* Fixed the replacement of template variables in form data failure for S3
2021-10-25 22:38:22 +05:30
Shrikant Sharat Kandula
87ed846194
Close Redshift connections every time (#8776) 2021-10-25 16:48:28 +05:30
Trisha Anand
0300fa9486
feat: Migrating S3 plugin to UQI framework (#8575) 2021-10-25 11:19:22 +05:30
Trisha Anand
a5eb79b2e1
Fixing the substitution type for JSON fields (#8652) 2021-10-21 09:52:35 +05:30
Sumit Kumar
d7411be855
fix: show hint message on using duplicate header or query parameters in API (#8263)
* show hint message on using duplicate headers or query parameters in API.
2021-10-13 18:02:16 +05:30
Nidhi
82dc82633f
fix: Make JS objects visible to anon users (#8260)
* Make JS objects visible to anon users

* Dummy commit
2021-10-07 00:30:16 +05:30
Trisha Anand
915484b7e5
Removing where clause from postgres template (#8202) 2021-10-05 16:47:42 +05:30
Trisha Anand
d8dec82565
Handling the empty object set for where clause in new actions (#8017) 2021-09-30 14:58:32 +00:00
Rishabh Rathod
70e6e54815
fix: Avoid sending param with no initialValue (#7647)
- Add initialValue for spreadSheetURL
- Pass only params having initialValue defined in generate CRUD
2021-09-30 11:29:09 +00:00
Sumit Kumar
611ff3b776
feat: make Mongodb plugin error messages more readable. (#7857)
* Make MongoDB plugin's error messages more readable. A Client side change is required before this change becomes visible to the end user.
2021-09-27 15:10:14 +00:00
Sumit Kumar
0f83f79840
- Set Generate un-signed url default option to true. (#7776)
* Set the default setting for permanent / un-signed url for S3 list action to true.
2021-09-24 11:07:29 +05:30
Trisha Anand
57ed477510
fix: Adding Prepared Statement setting to the main query pane for Postgres, MySQL and MS SQL plugins (#7762) 2021-09-23 14:39:22 +00:00
Sumit Kumar
f3880f32ca
fix: validate database, warehouse and schema name (#7683)
* Validate database, warehouse and schema name during test datasource and get structure calls.
* Minor refactor to avoid repeating code.
2021-09-23 15:35:21 +05:30
Nidhi
688b75af22
Changes to introduce peader prefix in API key authentication type (#7742) 2021-09-23 13:20:44 +05:30
Nidhi
c3f4cdaa15
feat: Introducing SaaS integrations as a plugin (#7560)
* WIP client side changes

* Saas execution flow + scheduled import of remote plugins
2021-09-21 17:35:29 +05:30
Trisha Anand
12e97835bf
Where clause is also visible now for command Fetch sheet rows for both Query range as well as Query rows sub methods (#7655) 2021-09-21 13:48:30 +05:30
Nidhi
0fadf83c86
Default type of where conditions converted to array (#7637) 2021-09-20 12:30:31 +00:00
Trisha Anand
240816e01c
feat: Adding "where" clause support for Google Sheets Plugin (#7597)
* Adding UI changes for inputting where conditions

* Working version of filtering! Woot woot!
2021-09-19 17:53:19 +00:00
Trisha Anand
17baadfb84
Adding input type to BSON fields to ensure future client side validations can be added to these fields (#7596) 2021-09-19 15:34:28 +00:00
Trisha Anand
659d7c3866
feat: Where condition helper library using H2 in memory database (#7592) 2021-09-19 20:33:47 +05:30
Trisha Anand
eaa9d783df
fix: Datasource structure command failure for Google Sheets (#7595) 2021-09-19 07:15:08 +00:00
Trisha Anand
936f014b3e
feat: Add UQI infrastructure to Mongo Plugin (#7238) 2021-09-17 12:22:22 +00:00
Sumit Kumar
146f536190
fix: fix mysql prepared statement integer and boolean type handling (#6987)
* fix mysql prepared statement integer and boolean type handling
2021-09-17 08:56:12 +00:00
Trisha Anand
60f85bd88b
fix: Add migrations for all google sheet actions to turn off smart substitution for existing actions (#7517) 2021-09-16 12:08:34 +00:00
Arpit Mohan
37e7a61792
chore: Minor changes for fixing some strings on the home page & action settings page (#7469) 2021-09-15 12:20:25 +00:00
Trisha Anand
ef2f2d7751
feat: Smart Substitution for Google Sheets Plugin (#7397) 2021-09-14 13:04:49 +00:00
Anagh Hegde
9ca16e954e
Classify the error messages to validation or plugin errors (#7161) 2021-09-13 16:16:01 +05:30
Arpit Mohan
3a071864dd
fix: Fixing the previous page pagination for Firestore (#7374)
The problem was that the pagination was designed & tested with only 2 pages. Firestore has a different function `limitToLast` which solves for previous page pagination commands.
2021-09-13 09:07:30 +00:00
Nidhi
a7239cfa5b
feat: Changes to add js plugin (#4861)
Adds server side changes for supporting JS editor
2021-09-08 19:17:30 +05:30
Abhijeet
19e21e10c0
fix: Fetch all the schemas present in the postgres DB (#7204)
* Remove schema check from tables query for postgres DB in fetch structure
2021-09-07 18:50:46 +05:30
Nidhi
8b8e57f010
Use BigDecimal to maintain precision (#7189) 2021-09-07 09:14:13 +00:00
Sumit Kumar
77a33f770d
fix: fix Arangodb plugin response on update commands (#7182)
* ArangoDB has two types of command - one that fetches a response and the other that updates a document. Currently, ArangoDB plugin treats all cmds like the one that returns a response, hence when update cmds are run then an empty response is returned to the client since there is nothing to fetch. This PR adds a check to fetch the response based on the type of cmd. Hence, for an update cmd the number of writes succeeded or failed would be returned as a response.
2021-09-07 09:38:23 +05:30
Trisha Anand
7526129a3a
feat: Adding APPSMITH_PLUGIN_MAX_RESPONSE_SIZE which can be configured as an environment variable to increase plugin response size (currently only supported for Postgres Plugin) (#7126)
* Adding `APPSMITH_PLUGIN_MAX_RESPONSE_SIZE` which can be configured as an environment variable to increase plugin response size (currently only supported for Postgres Plugin)

* Updated error message + added the environment variable to the template docker env files for new installations
2021-09-05 15:38:36 +00:00
Anagh Hegde
a4434872b0
Classify the Plugin errors to Action and Datasource configuration issues (#7095) 2021-09-04 02:54:23 +05:30
Trisha Anand
cbf7dc2745
feat: New Mongo UQI Plugin with new datastructures (with old UI) (#6666) 2021-09-02 14:00:18 +00:00
Trisha Anand
f6df16bde4
fix: Json smart substitution breaks when evaluated value contains the character '?' (#7031)
* Minor refactoring

* Partial code change to replace question mark with appsmith placeholder

* Working version

* Removing unnecessary code

* Added test case to assert that when evaluated value contains a "?", the replacements are still correct

* Added test case in Mongo Plugin as well for the same scenario

* Minor change in the language of the comment
2021-09-02 12:30:04 +00:00
Arpit Mohan
2186802889 Minor changes to the Google Sheets form labels 2021-08-31 12:30:39 +05:30
Trisha Anand
104fd168de
Distinct command output now results a JSON object instead of an array of strings (#6964) 2021-08-30 12:37:13 +00:00
Trisha Anand
23ce13ce98
[Mongo] Added default values for query for Find, Count and Distinct commands (#6960)
* Added smart defaults for query in Count, Distinct & Find commands

* Added test cases for smart inputs for query and limit for find, and query for count and distinct
2021-08-30 11:02:48 +00:00
Sumit Kumar
96144d5103
remove outermost quotes (#6938)
* This method removes the outermost quotes - single or double quotes - so that end users don't have to do it via javascript inside widget fields where they are meant to be bound.
2021-08-30 08:11:32 +05:30
Sumit Kumar
42273043da
- change action editor field label (#6845)
* The input box label in the Firestore plugin action editor reads Document / Collection Path which is misleading since a document is nested inside a collection and not the other way round. Hence changing it to Collection / Document Path
2021-08-25 16:04:51 +05:30
Trisha Anand
81fb86261d
Adding support for JSON object fields in Postgres for Prepared Statement (#6761) 2021-08-23 19:03:20 +05:30
Sumit Kumar
6061206970
Feature: s3 plugin: add option to get un-signed url (#6697)
* add option to fetch un-signed url when doing list action.
* this url never expires and is generally useful when sharing access to public objects.
2021-08-20 05:48:48 +05:30
Nidhi
8be0580c77
Fixed template queries for PG, MySQL and Snowflake (#6698)
* Fixed template queries

* Fixed tests
2021-08-19 16:35:32 +05:30
Nidhi
f5895872d4
Allow extra fields in multipart file data (#6689)
* Allow extra fields in multipart file data

* Remove extra annotation

* Reuse object mapper

* Reuse object mapper
2021-08-18 16:55:33 +05:30
Nidhi
a65bcb74b3
Fixed ds form not functional because of eval supported fields (#6665) 2021-08-18 08:16:56 +05:30
Sumit Kumar
9faa22ad58
Fix: Dynamodb Plugin: remove data type info keys from raw values. (#6652)
* A fix had been introduced earlier (I had introduced it a few months back) to remove data type info keys from the raw response. However, the transformation was not getting applied to the Query action as the transformation was explicitly limited to few actions. This PR removes that check and allows the transformation for all actions as there does not seem to be any reason to withhold this transformation for other actions.
* The earlier fix also restricted this transformation to results that had specific keys. This PR removes this check as well as it does not seem to be required and further may lead to similar issues if any particular key gets missed.
* Some other redundant checks have been removed from the flow as the transformation function itself takes care of it as edge/base case.
2021-08-17 19:18:25 +05:30
Sumit Kumar
fc30554cb5
Fix: Redis plugin: extract cmd and args based on regex (#6648)
* Earlier split method was used to segregate cmd and args which failed when multiple words inside a quoted string formed one argument. e.g. set key "my value" would produce set, key, "my, value" as the tokens when split method is used, which is not correct. This change introduces a regex that would create the following tokens: set, key, "my value"
2021-08-17 13:41:41 +05:30
Nidhi
f8e6854434
Correction in auth type value for OAuth2 in view mode of datasource (#6639)
* Correction in auth type value for OAuth2
2021-08-16 22:06:02 +05:30
Nidhi
f05e32a97e
Throw a stale connection exception when authentication token expires in Snowflake (#6612)
* Throw a stale connection on authentication token expired

* Added JUnit test
2021-08-16 10:33:39 +00:00
Nidhi
dc8673c22c
Changes to props (#6574) 2021-08-13 19:32:00 +05:30
Nidhi
f2cba9a601
Escaped inputs for bson substitution (#6565) 2021-08-13 14:44:51 +05:30
Trisha Anand
b4b1706946
BSON documents for aggregate pipelines are not valid JSON. Using BSON parse instead of JSON parse to ensure valid Mongo commands don't throw an error (#6583) 2021-08-13 08:00:34 +00:00
Sumit Kumar
8f9963515b
Fix: Mysql plugin: add timeout to validation check to avoid connection block. (#6555)
* add timeout to validation check to avoid connection block.
2021-08-12 17:32:29 +05:30
Sumit Kumar
21e7dea190
hide certificate string using dots on UI (#6533)
* replace actual certificate string with '*' like it is done for hiding password on the UI.
2021-08-11 16:42:53 +05:30
Trisha Anand
9251312cf1
Adding a max size of approximately 1 MB of data fetched using appsmith (#6491)
* WIP Restrict fetch size

* Adding a cut off of approximately 1 MB of data fetched in postgres plugin

* Code cleanup

* Minor cleanup
2021-08-10 11:02:19 +05:30
Nidhi
57436bb2d1
Added logic to show form data requests in debugger (#6350)
* Added logic to show form data requests in debugger

* Tests and comments

* Tests
2021-08-04 10:47:41 +05:30
Abhijeet
60cbaad9bd
Add list buckets API to S3 (#6334)
* Add list buckets action method to S3

* Added TC for list bucket method
2021-08-03 18:04:47 +05:30
Abhijeet
70cf1e39b8
Snowflake get structure error resolved for columns query (#6316)
* Table name reference copied from templates body to avoid misconfiguration in action body
2021-08-02 19:03:28 +05:30
Nidhi
337e6b7682
Minor fixes on the Google Sheets plugin (#6188)
* Delete method messages #5302

* Delete method case sensitivity #5293
2021-07-27 16:43:34 +05:30
Nidhi
8d341a40a6
Setting ActionExecutionRequest in response from executed API call (#6147)
* Setting ActionExecutionRequest in response from executed API call

* Added logic during error state
2021-07-27 15:45:28 +05:30
Nidhi
4927f64262
Updated multipart dto (#6157) 2021-07-27 12:23:57 +05:30
Snyk bot
652ad3506a
fix: app/server/appsmith-plugins/firestorePlugin/pom.xml to reduce vulnerabilities (#5864)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JAVA-IONETTY-1317097
2021-07-26 08:26:40 +00:00
Sumit Kumar
f486be1979
fix data type appearing with data value for un-indentified types. (#6099)
* fix data type appearing with data value for types that JDBC does not internally map.
2021-07-23 17:07:25 +05:30
Trisha Anand
a8df4ee010
Adding e.printStackTrace to errors in redshift as a hotfix (#6094) 2021-07-23 14:39:48 +05:30
Abhijeet
9633d1e1c3
Add autogenerate field in datasource structure for each column (#6018)
* Added field to autogenerate values in DB column

* Added comment and refactor

* Autogenerate field update according to names instead of type for ArangoDB
2021-07-23 09:00:32 +05:30
Trisha Anand
1dfc624a13
[Bug Fix : Rest Api] Base64 encode binary response before sending it out to client (#5958)
* 1. For binary data in the response, base64 encoding the same before sending it out on the wire (instead of default conversion to string)
2. Added a new header which sets the data type of the response body.

* Minor code reformatting

* Fixed failing test cases

* The new header created should send the values in an array instead of a single value
2021-07-19 19:29:19 +05:30
Trisha Anand
ede0df21bc
Adding timeout on execution of postgres and ms sql actions (#5922) 2021-07-16 20:24:18 +05:30
Abhijeet
c5a909ddc8
Google sheet APIs for getting all the spreadsheet, getting all sheets within spreadsheet and column headers (#5875)
* API to run DB query using plugin specified templates

* Included get spreadsheet metadata in get info method

* Added TCs for checking Spreadsheet info response

* Added error message for invalid datasources

* Authentication check for datasource modified to AuthenticationStatus field
2021-07-16 16:15:29 +05:30
Trisha Anand
b8eb2f1aa5
Adding support for explicit data type casting in postgres prepared statement (#5842)
* Adding support for explicit data type casting in postgres prepared statement

* Added text and int psql data types for support in explicit typecasting

* Documenting the code
2021-07-15 19:33:32 +05:30
lifeneedspassion
95d5557749
Add UTF-8 encoding in the RestApiPlugin for all invocations
The default charset is determined during virtual-machine startup and typically depends upon the locale and charset of the underlying operating system (#5788)

Co-authored-by: 王昆 <quincy@cloudtogo.cn>
2021-07-15 11:36:18 +05:30
Sumit Kumar
50ae200350
Fix: fix read only option for postgres connection (#5848)
* fix read only option for Postgres connection.
2021-07-15 09:55:35 +05:30
Nidhi
4f42c29f95
Ignore comments while preparing executable statement in MySQL plugin (#5838)
* Ignore comments while preparing executable statement in MySQL plugin

* Added tests
2021-07-14 11:36:10 +05:30
Sumit Kumar
9c2ac9f26a
Feature: add support in Redis plugin to select database when creating db connection. (#5807)
* add support in Redis plugin to select database when creating db connection.
* refactor code to use URI string instead of constructor call, because of lack of appropriate constructor.
* add TCs.
* fix validate datasource.
2021-07-13 15:22:08 +05:30
Sumit Kumar
727f4aa4b3
Feature: return hint message to user if the expected content type is json but the api response is not a valid json. (#5666)
* return hint message to user if the expected content type is json but the api response is not a valid json.

Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
2021-07-09 22:31:50 +05:30
Trisha Anand
18fa47e2b4
Taking Smart Substitution for Mongo out of Beta (#5650) 2021-07-08 11:25:53 +05:30
Sumit Kumar
d68ca405a8
Feature: integrate ArangoDB plugin (#5518)
* integrate arangoDB plugin.

Co-authored-by: Ming Fang <mingfang@mac.com>
Co-authored-by: Automated Github Action <automated@github.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
2021-07-06 18:40:19 +05:30
Arpit Mohan
28284b7207
Setting string response if the JSON is not valid (#5642) 2021-07-06 18:07:08 +05:30
Nidhi
7da59a4afe
Content length for multipart (#5556) 2021-07-05 19:28:45 +05:30
Trisha Anand
9dfe66d45c
[Bug] Mongo Plugin : Handle socket exception when the connection is dropped by Mongo database (#5499) 2021-07-01 17:23:24 +05:30
Nidhi
def5cb5c1d
Content type and filename for multipart form data parts (#5509)
* Content type and filename for multipart form data parts

* Handling empty json

* Handling empty json
2021-07-01 15:53:53 +05:30
Trisha Anand
02e5445731
[Mongo Plugin] Raw is now a command option instead of Form vs Raw (#5446)
* Raw is now a command option instead of Form vs Raw

* Added database migration for migration raw input type to be of raw command type

* Fixed test case failure

* Minor cleanup
2021-06-29 11:13:17 +05:30
Nikhil Nandagopal
e8ba1bee7f
removed quotes from sql templates because of prepared statements being on (#5404)
removed comments from sql templates confusing users with errors because of linting
2021-06-25 14:39:39 +05:30
Sumit Kumar
b2d4454492
Feature: add api key based and bearer token based authentication options to REST API datasource (#5367)
* add api key based and bearer token based authentication options to REST API datasource
* this change is ported to release from Feature: datasource changes for api key auth, bearer token auth, combine config. #4683
2021-06-25 12:15:48 +05:30
Sumit Kumar
7787a0ddac
Bug Fix: Fix dynamic binding substitution failure with Firestore where condition input boxes. (#5280)
Modify dynamic binding substitution method to handle list and map types containing generic type values.
2021-06-21 19:36:06 +05:30
Nidhi
57adbd7777
Schema info in templates query (#5244) 2021-06-18 11:31:17 +05:30
Trisha Anand
388418cec5
Merge the two update commands into a single update command in Mongo Form (#5171)
* Update commands have been merged into a single update command for both single and multi updates

* Added migrations to migrate any update one mongo form command to new update command

* Incorporated review comments
2021-06-18 11:04:39 +05:30
Nidhi
884636f33f
Snowflake integration (#5176)
* POC for snowflake integration with Appsmith

This is just a rough version to see if the functionality works. Needs to be cleaned up & enhanced for production usage.

* Plugin with connection, monos, ds testing, validation, templates, structure and forms

* Better comments

* Default schema to public

* Changed logging destination, populated request in result and used thread group for datasource creation

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2021-06-17 15:03:18 +05:30
Sumit Kumar
26cd46ea53
Fix: parse json/jsonb data type values as json for postgres plugin (#5135)
* parse json/jsonb data type values as json
* add support for json (non binary, earlier support for jsonb was added)
2021-06-17 11:31:34 +05:30
Trisha Anand
77e965523c
[Feature] Smart Substitution for JSON fields in Mongo Form (#5136)
* Reduced verbosity of the command names for Insert, Find and Delete

* WIP : Smart substitution untested changes for mongo form

* Tested code for smart substitution working for mongo form fields

* Added test case for assert for smart substitution
2021-06-16 13:31:00 +05:30
Sumit Kumar
64408df8fa
Fix: Use connection pool for Redis (#5093)
* Replace single connection instance with a connection pool. This will ensure that simultaneous actions don't fail / break the connection.
2021-06-15 10:59:49 +05:30
Trisha Anand
06cafb6066
Getting Prepared Statement for Postgres, MySQL, and MS-SQL and Smart Substitution for Rest API plugins out of beta (#5019)
* Correcting text for Mongo Form Insert command

* Getting Prepared Statement for Postgres, MySQL, and MS-SQL and Smart Substitution for Rest API plugins out of beta

* Fixed failing test case

* Fixed Ms-sql plugin test failure
2021-06-10 13:55:56 +05:30
Abhijeet
0246563bd2
Bugfix for applications with MongoDB datasources authenticated with SRV string (#4944)
* Avoid updating authenticationDTO for mongo-plugin with SRV if the authentication object is already present
2021-06-10 10:52:23 +05:30
Trisha Anand
1bb54b0c7c
[Bug Fix] : Mongo Form Find - Projection field is parsed correctly (#4976)
* Parsing the field projection in Mongo Form

* Added test case to assert Projection field working.
2021-06-08 19:27:55 +05:30
Anagh Hegde
1a44df90e1
Merge pull request #4921 from appsmithorg/bug/tests-failing-on-silicon
Fix - tests don't run on an M1 Silicon Mac
2021-06-08 16:52:10 +05:30
Sumit Kumar
d2a74b5ac9
Feature: firestore plugin support for multiple where conditions (#3740)
* allow users to add multiple where conditions to firestore's get documents query.
2021-06-07 10:43:16 +05:30
Anagh Hegde
4268e4caaa Replace the repoTag from latest to fixed version 2021-06-04 13:49:20 +05:30
Anagh Hegde
b73f5c8ed1 Replace the repoTag from latest to fixed version 2021-06-04 12:37:16 +05:30
Anagh Hegde
b7ccb1da01 Fix - tests don't run on an M1 Silicon Mac 2021-06-04 11:15:44 +05:30
Sumit Kumar
8199db669a
- remove DB Auth type check. (#4896)
* remove DB Auth type check, since the type is not getting set and the check does not seem to be required in any way.
2021-06-03 23:31:37 +05:30
Nidhi
f9a4b0e0dc
Fixes failure due to extra spaces in authorization url in OAuth2 datasource (#4818)
* Trimmed authorization url

* Using validation instead

* Update app/server/appsmith-plugins/restApiPlugin/src/main/java/com/external/helpers/DatasourceValidator.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* Update app/server/appsmith-plugins/restApiPlugin/src/main/java/com/external/helpers/DatasourceValidator.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-06-01 13:45:04 +05:30
Sumit Kumar
e2f4fd5e94
Fix: Fix redis plugin socket error (#4791)
* fix socket error
* fix default port
* remove invalid check for missing port, since default port would be supplied if user leaves the port field empty.
2021-05-31 11:55:47 +05:30
Nidhi
5ddd58cdfd
Added optional audience and resource fields for oauth2 datasources (#4678)
* Added optional audience and resource fields for oauth2

* Review changes

* Don't show audience and resource fields by default
2021-05-27 21:53:59 +05:30
Nidhi
2bf1fbff04
Removed check for encryption since this is not handled manually anymore (#4673)
* Removed check for encryption since this is not handled manually anymore

* Removed migration for isEncrypted
2021-05-25 20:29:57 +05:30
Trisha Anand
d5e5be5d6a
[Feature] Mongo Form (#4378) 2021-05-19 11:05:24 +05:30
Arpit Mohan
b1d7258dcb
Adding support for multipart form data (#4547)
* Handling multipart form data in the CURL import flow

* Adding Cypress test for curl import with multipart/form-data

* Also fixing minor bug where the form values need not always be double-quoted
2021-05-19 10:48:51 +05:30
Sumit Kumar
21948ab254
Fix: postgres plugin: add support for jsonb type (#4519)
* add support for jsonb type
2021-05-17 11:19:19 +05:30
Sumit Kumar
247e5d7ea4
Feature: return prepared stmt / smart substitution params under request params section for debugging (#4421)
- return prepared stmt / smart substitution params under request params section for debugging
2021-05-17 08:59:17 +05:30
Sumit Kumar
e74d99b794
fix NPE (#4448)
fix NPE
2021-05-13 11:59:43 +05:30
Shrikant Sharat Kandula
c2af4a97fd
Fix sporadic build errors (#4453)
Because of the Java version not being explicitly set
in this plugin, the build of the whole project fails
sporadically in IntelliJ since it's trying to compile the
code as Java 8, which will obviously fail.
2021-05-12 16:41:42 +05:30
Sumit Kumar
0ec3604eac
Feature: connect to mongo db via connection string URI (#4131)
allow user to connect using a mongo connection string URI directly.
2021-05-10 10:35:45 +05:30
Nidhi
4a288439f0
Added basic authentication type to REST APIs (#4040)
* Added basic authentication type to REST APIs

* Spacing for prefix

* Tests and json ignore for password

* Client side form changes

* Review comments
2021-05-07 17:24:05 +05:30
Sumit Kumar
52bfd25824
Feature: return request parameters with type for debug tab (#4078)
- return request parameters with type for debug tab.
- request params are stored in a RequestParamDTO object.
- a configProperty -> label map is cached in pluginService, which returns the param label as per the configProperty it is mapped to via editor.json file.
- This feature currently only works with prepared statements disabled.
2021-04-30 16:26:51 +05:30
Nidhi
11556b0bbb
Add authorized check (#4222) 2021-04-30 11:10:20 +05:30
Rishabh Saxena
a0d2e8533d
Initialise comments (#3328)
* Initial scaffolding for comments CRUD APIs

* add actions

* add assets

* state management for existing comments and creating new

* add ui components

* add overlay comments wrapper to baseWidget

* add toggle comment mode button at editor header

* trigger tests

* Disallow commenting as someone else

* Add applicationId for comments

* lint

* Add overlay blacklist to prevent component interaction while adding comments

* Comment thread style updates

* Placeholder comment context menu

* Controlled comment thread visibility for making new comments visible by default

* Update comment type description

* Reset input on save

* Resolve comment thread button ui

* fix close on esc key, dont create new comment on outside click

* Submit on enter

* add emoji picker

* Attempt at adding a websocket server in Java

* CRUD APIs for comment threads

* Add API for getting all threads in application

* Move types to a separate file

* Initial commit for real time server (RTS)

* Add script to start RTS

* Fix position property

* Use create comment thread API

* Use add comment to thread API

* Add custom cursor

* Dispatch logout init on 401 errors

* Allow CORS for real time connection

* Add more logs to RTS

* Fix construction of MongoClient

* WIP: Real time comments

* Enable comments

* Minor updates

* Read backend API base URL from environment

* Escape to reset comments mode

* Set popover position as auto and boundary as scroll parent

* Disable warning

* Added permissions for comment threads

* Add resolved API for comment threads

* Migration to set commenting permission on existing apps

* Fix updates bringing the RTS down

* Show view latest button, scroll to bottom on creating a new comment

* Cleanup comment reducer

* Move to typescript for RTS

* Add missing server.ts and tsconfig files

* Resolve / unresolve comment

* Scaffold app comments

* Minor fixes: comment on top of all widgets, add toggle button at viewer header

* Reconnect socket on creating a new app, set connected status in store

* Retry socket connection flow

* Integration tests for comments with api mocks using msw

* Fix circular depependency

* rm file

* Minor cleanup and comments

* Minor refactors: move isScrolledToBottom to common hooks, decouple prevent interactions overlay from comments wrapper

* Use policies when pushing updates in RTS

* ENV var to set if comments are enabled

* Fix: check if editor/viewer is initialised before waiting for init action

* Add tests for comments reducer

* Revert "ENV var to set if comments are enabled"

This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.

* Enable comments for users with appsmith email

* lint

* fix

* Try running a socket.io server inside backend

* Update comment reducer tests

* Init mentions within comments

* Fix comment thread updates with email rooms

* Minor fixes

* Refactors / review suggestions

* lint

* increase cache limit for builds

* Comment out tests for feature that's under development

* Add Dockerfile for RTS

* Fix policies missing for first comment in threads

* Use draftJS for comments input with mentions support

* fix fixtures

* Use thread's policies when querying for threads

* Update socket.io to v4

* Add support for richer body with mentions

* Update comment body type to RawDraftContentState

* fix stale method

* Fix mentions search

* Minor cleanups

* Comment context menu and thread UI updates

* revert: Scaffold app comments

* Yarn dependencies

* Delete comment using id api added

* Init app comments

* Add test for creating thread

* Api for delete comment with id

* Test comment creation response and policies

* Copy comment links

* Fix reset editor state

* Delete valid comment testcase added

* Delete comment TC : code refactor

* Don't allow creating comments with an empty body

* Pin comments WIP[]

* Ignore dependency-reduced-pom.xml files from VCS

* Cleanup of some dev-only files, for review

* Delete comment

* Update socket.io to v4 in RTS

* Pin and resolve comment thread object added in commentThread

* Pin and resolve comment thread object added in commentThread

* Update comment thread API

* Added creationTime and updationTime in comment thread response

* Added creationTime and updationTime in comment thread response

* Added human readable id to comment threads, fallback to username for null name in user document

* Refactor

* lint

* fix test, rm duplicate selector

* comment out saga used for dev

* CommentThread viewed status, username fallback for getName=null, username field added in pin & resolve status

* lint

* trigger tests

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2021-04-29 16:03:51 +05:30
Nidhi
4d0d01950b
Error handling for unknown sheet when deleting row (#4165)
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2021-04-26 20:50:45 +05:30
Nidhi
f86f6a4de9
Only consider headings till value grid size, but consider all values till this size (#4115)
* Only consider headings till value grid size, but consider all values till this size

* Switched from null to blank for consistency

* Whoops, we don't do null row objects anymore
2021-04-26 12:11:18 +05:30
Sumit Kumar
275843e61a
Fix: Return helpful error message when get structure fails for mongo db due to lack of read permission. (#4077)
- return helpful error message when get structure fails for mongo db due to lack of read permission. The message returned is: Appsmith has failed to get database structure. Please provide read permission on the database to fix this.
- any get structure error is also generically being caught by the getStrucuture method in DatasourceStructureSolution.java
- error msg and status code is now returned as part of DatasourceStructure object.
- ErrorDTO is used to store error info.
- ErrorDTO definition is moved to appsmith-interfaces package so that it can be used all packages.
- Other changes:
  - stop logging PLUGIN_GET_STRUCTURE_ERROR externally, as this error is mostly triggered by credentials error or -lack of read permission.
  - start logging PLUGIN_GET_STRUCTURE_TIMEOUT_ERROR externally, because this is not a user error.
2021-04-26 11:18:08 +05:30
Shrikant Sharat Kandula
2971324be6
Fix unable to connect to MongoDB without username (#4130) 2021-04-23 18:21:36 +05:30
Nidhi
2eec2fba28
Modified error text, added comments for regex (#4103) 2021-04-22 16:44:03 +05:30
Nidhi
9dff696760
Fixed delete spreadsheet method validation (#4096) 2021-04-22 13:06:45 +05:30
Trisha Anand
dd00f51808
Type Migration for Plugins Part 2 : Migration of existing actions + revert hotfix for editor.json (#4085)
* WIP :  Migration of data type for smart substitution configuration

* Fixed the migration code. Also reverted editor.jsons  back to equality check after migrations of existing actions

* Only fetching actions for plugins which belong to supported plugins.

* Setting a default value of "false" for all the actions which don't have a valid configuration for smart substitution.

* Minor code formatting

* Minor language change in comment

* Removed debug logs
2021-04-22 12:07:25 +05:30
Nidhi
6b31aa333b
Introducing Google Sheets Plugin (#3517)
* cherry pick -make new

* revert to enable fix from release

* attempt to hook into existing datasource editor

* gSheets plugin skeleton from Rest API

* Changes for database migration

* fix for auth code

* separate it out

* action page loads!

* add to explorer

* create action from datasource

* Editor JSON WIP

* working query form

* Editor JSON WIP

* import to

* fix toast message

* redirect from datasource and editor pages

* fix onboarding

* fix imports and constants

* refactor form out

* refactor queryForm

* Merge branch 'release' into feature/google-sheets

* Merge branch 'release' into feature/google-sheets

* initial values from settings, editor and form

* Check

* remove dangling code around lightTheme

* Safety net

* remove class

* try mouseover solve

* force click

* changes from review

* fix action form name on import

* Merge branch 'release' into feature/google-sheets

* minor cleanup

* Merge branch 'release' into feature/google-sheets

* WIP

* Google sheets changes

* Merge conflicts

* Merging and fixes, needs refactoring

* Check

* Merge branch 'release' into feature/google-sheets

* Fixed tests

* Add cloud services env variable

* Clean up saga

* Clean up

* Refactoring

* Deleted svg file

* Minor fixes

* Modified design to allow behaviour in google sheets methods (#3486)

* Modified design to allow behaviour in google sheets methods

* Review changes

* Removed sysout

* Added handling of edge cases with table data

* Merge branch 'release' into feature/google-sheets

* Fixes

* Fixes

* Added validations

* Improved tests

* Removed extraneous injected bean

* Review changes

* Fixed bug with method

* Changes to Google sheets plugin's request and response structures (#3692)

* Method changes

* Removed logging

* Renaming options

* Reverting pom version

* Modified type of collection variables, fixed errors

* Converted row offset field to one that supports dynamic bindings

* Review changes

* List SAAS plugin type actions under lightning menu apis (#3820)

* list saas plugin type actions under lightning menu apis

* combine saas plugin type actions in the other sub menu of lightning menu

Co-authored-by: Hetu Nandu <hetunandu@gmail.com>

* Fix merge issues

* Prettified query editor and a few fixes w/ ux

* Test fixes

* Reformatting request

* code for REST added (#3876)


Co-authored-by: hetunandu <hetu@appsmith.com>

* Renamed body to row object

* Renamed placeholder for range

* Renamed range heading

* Modifications to handle range semantics

* Use spreadsheet Url instead of id

* Ordering of methods

* Removed logging

* Add tests for Dynamic text controls

* Add tests for url helpers

* Fix coverage config

* Nevermind

* Interface changes

* There is no body here

* Yay to hints

* Delete row field is separately handled as row index

* placeholder support (#4001)

* Fixed tests, typos and creating new sheets with random rows

* Switched to using 'rowIndex' throughout

* binding path added for query input field (#4016)

* - Fixed QA bugs (#4032)

- Split delete sheet into two
- Removed dynamic query input types from hidden keys

* Proper exceptions

* Removed extra logging

* Throw exception if update method does not match any of the columns

* Same for bulk update

* Zero-indexed delete row

* I'm a space bound rocket ship

* Logic to register installations with cs (#4062)

* Logic to register installations with cs

* Clean up

* Casting to string

* Checking to see if this makes the test pass

* Added an extra null check

Co-authored-by: Piyush <piyush@codeitout.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
2021-04-22 09:00:09 +05:30
Trisha Anand
30a82c2d24
Hotfix for broken release. Would do a proper fix on release tomorrow with migration (#4075) 2021-04-20 18:54:34 +05:30
Trisha Anand
eeaa26a7cc
Type migration from String to Object for plugin specified templates to preserve boolean and any other future data types (#4053)
* WIP : Type migration from String to Object for value

* Migrating config from string to boolean for prepared statement.
Handled error for already stored actions where PS config is stored as String and not Boolean.
2021-04-20 16:09:48 +05:30
Trisha Anand
9b49308abe
Adding dependency relationship to plugins (#3997)
* Added dependencies to be added to dependencyMap on client to Postgres, MSSQL, MySQL and Mongo plugins

* Added Dependency config for API

* Fixed the test case
2021-04-15 11:36:41 +05:30
Shrikant Sharat Kandula
5b48a9cc78
Fix build failure on maven 3.8 (#3954)
Maven 3.8 now blocks HTTP repositories and only allows HTTPS. However, the version redshift jdbc dependency we are using connects to a separate repository that runs on HTTP. The latest version has switched to using HTTPS instead.

So this PR upgrades redshift dependency from version 2.0.0.1 to 2.0.0.4.

Ref: https://maven.apache.org/docs/3.8.1/release-notes.html#cve-2021-26291
2021-04-14 08:03:56 +05:30
Sumit Kumar
9c8bce0415
Feature: return data types of returned data on query execution for better data display (#3914)
- Return data type list along with action execution result so that the data can be displayed in the correct format.
- Handles these three data types for now : table, json, raw.
  - If a plugin has already assigned the data type, then common handler is not used.
  - Mongo plugin assigns the data types in the plugin specific flow i.e. does not use the common data type parse / assign method.
- To address review comments:
  - added a new enum ActionResultDataType for data types. It is consumed by ParsedDataType. A list of ParsedDataType is returned by ActionExecutionResult
  - parsed data in parallel using streams.parallel().
2021-04-09 10:58:37 +05:30
Sumit Kumar
41e44eed30
Feature: add title to action execution errors to improve user experience (#3872)
- add title to action execution errors to improve user experience
    - all errors in AppsmithPluginErrors
    - action execution related errors in AppsmithError : NO_CONFIGURATION_FOUND_IN_DATASOURCE, INVALID_ACTION, INVALID_DATASOURCE, INVALID_DATASOURCE_CONFIGURATION - as these are the likely errors in an action execution flow (excluding plugin specific flow) that might result from faulty action / datasource configuration by a user.
    - title is returned as part of ActionExecutionResult.
    - title is set in ActionExecutionResult on failure during action execution.
    - In response to review comment - added a new BaseException class, so that both AppsmithException and AppsmithPluginException extend this base class. Also, refactored code to introduce setErrorInfo() function in ActionExecutionResult class to set its attributes.
- Some unrelated cleanup:
    - catch PoolInitializationException for Postgres plugin and return AppsmithPuginException
    - catch MongoTimeoutException and return AppsmithPluginException
2021-04-08 09:49:05 +05:30
Hetu Nandu
28995e5b53
Fix PS and smart substitute true false value (#3896) 2021-04-07 16:06:17 +05:30
Hetu Nandu
5a1584377b
Update editor.json for Postgres, Mongo, MySQL, MS-SQL adding evaluation type (#3884)
Co-authored-by: Trisha Anand <trisha@appsmith.com>
2021-04-06 18:27:51 +05:30
Trisha Anand
4a087b172c
Feature : BSON Smart Substitution in Mongo Plugin (#3804)
* Feature : JSON Smart Substitution in Mongo Plugin

* Added BSON data type for Mongo substitution. Added test case

* Minor comment added

* Minor variable re-naming and correcting failing test cases.

* REST API : Escaping special characters in string before smart substitution

* Incorporated review comment
2021-04-05 17:12:29 +05:30
Sumit Kumar
00bcac7591
add support for 'prefer' ssl mode in postgresql. (#3848)
- add support for 'Prefer' ssl option for postgres plugin.
2021-04-05 15:51:17 +05:30
Trisha Anand
1e72cf279e
Bug Fix : If binding is present in commented part, ignore the exception (#3832) 2021-04-01 22:14:00 +05:30
Sumit Kumar
efa4ae072c
Firestore plugin support for FieldValue.delete() and FieldValue.serverTimestamp() values (#3693)
- Allow users to define key path for FieldValue.delete() and FieldValue.serverTimestamp() values.
- delete() value is only valid for update operation, as Firestore does not seem to support it for any other ops.
- serverTimestamp() is valid for all operations excluding get and delete operations.
2021-03-30 17:19:24 +05:30
Sumit Kumar
7dbae1e481
fix regex for whitespace (#3761)
- fix regex for whitespace
2021-03-30 15:03:39 +05:30
Arpit Mohan
60400da94a
Fixing signed URL request for AWS S3 in Rest API plugin (#3734)
* added empty byte array for request body to fix aws signed url signature match problem as detailed here - https://github.com/aws/aws-sdk-java/issues/2205

Co-authored-by: Bernard Worthy <>
2021-03-29 12:58:57 +05:30
Trisha Anand
b9fd72e89d
Smart Substitution Debugging - Adding Appsmith data type to each parameter in response's request object for execute (#3716)
* Smart Substitution Debugging - Adding appsmith data type to each parameter in response's request object for execute

* Incorporated review comments.

* Fixed failing test cases.

* Fixed MS-SQL test failures.
2021-03-26 23:29:12 +05:30
Nidhi
683176fc48
Increased default limit for webclient payload (#3718)
* Increased default limit for webclient payload
2021-03-26 21:34:10 +05:30
Trisha Anand
c420d0207f
Supporting timestamp datatype in Prepared Statement (#3690)
* WIP : Adding timestamp datatype in Prepared Statement

* Added simple tests for commonly used data types' identification

* Added plugin level test cases for timestamp with Prepared Statement to Postgres
2021-03-26 13:19:22 +05:30