Commit Graph

448 Commits

Author SHA1 Message Date
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