Commit Graph

1082 Commits

Author SHA1 Message Date
Trisha Anand
ed1a0b4045
Refactor the smart substitution code to extract common code at plugin interface level. (#3497) 2021-03-25 19:10:42 +05:30
Trisha Anand
c6e4f91ffb
[Bug fix] A lax search for presence of binding during save page to match client algorithm to reduce page save error (#3698)
* Lax mustache binding check added to match the client side check when client recognizes a field to have a dynamic binding. This would reduce/remove bad bindings from throwing a 400 during save page.

* Added a test to assert that update layout does not fail in case the binding is technically incorrect because part of the mustache's lie inside quotes. Since client has a lax way of finding a dynamic path, server also follows suite.
2021-03-25 16:00:45 +05:30
Trisha Anand
1a9a410c5e
Stringifying the binding name before setting in the error to ensure client can parse it correctly (#3689) 2021-03-25 12:36:56 +05:30
Sumit Kumar
cb9df80694
change default value of s3 file data type on create file action (#3685)
- modify default value for s3 on file create to Yes.
- change dropdown option names to base64, text from yes, no.
2021-03-24 15:02:13 +05:30
Sumit Kumar
56f22edbe8
Return hint message on identical columns (#3656)
- Return hint message if identical column names are found in SQL query for postgres, MySQL, mssql, redshift plugin.
- Add a PluginUtils class to hold general utility functions for plugins.
2021-03-24 08:22:49 +05:30
Nidhi
992da806bf
Added dummy instances to UI matrix (#3683) 2021-03-24 08:18:19 +05:30
Shri
a18e569f7d
Fix data serialization in analytics (#3677)
* Serialize object fields before sending to analytics

* Push event when application is published
2021-03-23 17:13:02 +05:30
Sumit Kumar
38c5639542
Provide non client certificate based SSL support for Mysql, Mongo, Postgres plugins. (#3518)
- Provide non client certificate based SSL support for Mysql, Mongo, Postgres plugins.
- Added a new option default, apart from the the SSL mode types supported by the driver. Default means that go with whatever default configuration driver provides.
2021-03-19 15:03:56 +05:30
Nidhi
93d5a061e2
Added logs and analytics (#3622)
* Added logs and analytics

* Fix in error string

Co-authored-by: Shri <shrikant@appsmith.com>

* Review fixes :)

Co-authored-by: Shri <shrikant@appsmith.com>

Co-authored-by: Shri <shrikant@appsmith.com>
2021-03-18 21:48:13 +05:30
Shri
bb1d0059d3
Clear OAuth tokens for forked datasources (#3609)
* Clear OAuth tokens for forked datasources

* Fix datasource duplicate finder in light of oAuth tokens

* Fix potential NPE
2021-03-18 21:08:56 +05:30
Shri
cbd7828503
Add migration to remove template organization config (#3568) 2021-03-16 15:29:06 +05:30
Shri
e1fb1203b5
Application forking fixes and improvements (#3519)
* Clone only those datasources that are actually used

* Retry when cloning app causes a name class

* Search for an existing datasource before cloning

* Test deep matching of datasources

* Refactoring, since now the tests pass

* Allow forking of owning applications

* Don't limit datasource naming suffix number
2021-03-15 22:19:40 +05:30
Shrikant Sharat Kandula
3d6bd51556
Fix NPE in action execution analytics (#3541)
The NPE noticed is with the return value of `.getStatusCode`.
But this PR adds NPE guards to a few other potential cases.
2021-03-14 07:58:27 +05:30
Nikhil Nandagopal
d7a5f36fea Made bade 64 encoding the default type for S3
Added a data field for file pickers that is filled based on the property pane value
2021-03-12 13:44:32 +05:30
Trisha Anand
217e36aaa9
Enrichment of analytics event for execute. (#3492)
* WIP : enrichment of analytics event for execute.

* Plugin level : Catch all exceptions and set request in the result
Server level : Adding new fields to analytics : `isSuccessfulExecution`, `statusCode`, `timeElapsed`

* Dont catch StaleConnectionException. Server handles the same.

* Removed class specification for onErrorResume in plugins since its supposed to catch all errors.
2021-03-11 15:40:07 +05:30
Shrikant Sharat Kandula
b12057ef73
Allow client to set layouts without id when creating a page (#3477)
* Allow client to set layouts without id when creating a page

* Mild refactoring

* Fix Layout action tests
2021-03-11 15:13:24 +05:30
Nidhi
f017ef29d4
Modified maven dependencies to reduce build time and jar size of s3 (#3491) 2021-03-11 14:58:07 +05:30
Trisha Anand
9f63bfafd2
Adding JSON intelligent substitution for Rest Api plugin (#3474)
* POC : null value getting handled correctly

* Refactor code. Tested with and without quotes. This is working! Woohoo!

* Added support for mustache binding to include json objects and arrays

* Added test for smart substitution.

* Added setting to turn on/off smart substitutions in Rest API plugin

* Handling turning on smart json substitution

* Added error handling

* Added config to turn on smart substitution in JSON to make the tests pass now

* Adding a beta tag to the API setting.

* Spelling error resolved.

* Incorporated review comments.

* Catching JSON Parse exception in http call.
2021-03-11 14:10:00 +05:30
Shrikant Sharat Kandula
1d683ad458
Fix recaptcha failing on signup when not configured (#3488) 2021-03-11 11:05:48 +05:30
Shrikant Sharat Kandula
65568a4e13
Add more devices in AppLayout options (#3451)
* Remove width and introduce more AppLayout type enums

* Fix: Adding min width to layout options.

Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
2021-03-11 07:51:48 +05:30
Abhishek
0b4adf198d
Add recaptcha verification for user signup on the server (#3383)
Co-authored-by: Abhishek <abhishek.ak@bytedance.com>
2021-03-11 07:25:01 +05:30
Sumit Kumar
aaf4ce95f2
use dynamic input text in plugin editor forms (#3470)
- Use dynamic input text for plugin editor forms so that the evaluated value of mustache expression is visible.
- Those fields which are meant to store Key only - i.e. they are not visible to the user and are only meant to provide key for key value pair in db have been skipped.
2021-03-10 12:29:19 +05:30
Sumit Kumar
b6961ce7a4
Add timeout failure for mongo plugin test datasource (#3431)
- Mongo plugin client driver does not return with exception upon first failure - instead it keeps retrying. Hence, adding timeout error to report failure before the client thread cancels due to delay in response.
- It seems that the mongdb connection string cannot be directly used for ping test, hence skipping it.
2021-03-10 11:11:14 +05:30
Sumit Kumar
04e8acb763
Custom S3 service support (#3469)
- Provide support for non Amazon S3 service providers like Upcloud, Digital Ocean, Wasabi, DreamObjects and any other S3 compliant storage service provider.
- Change plugin label from "Amazon S3" to "S3"
2021-03-10 10:30:07 +05:30
Shrikant Sharat Kandula
bb9a9a307f
APIs for profile photos (#3260)
* Add API for uploading profile photos for current user

* Add delete and get APIs for profile photos

* Add test for uploading and deleting profile photo

* Added negative tests for upload profile photo API
2021-03-09 17:03:20 +05:30
Trisha Anand
092a942036
Added support for Prepared Statement in MS SQL plugin. (#3438)
* Added support for Prepared Statement in MsSQL plugin.

* Minor code formatting

* Merged release and refactored code for compilation.
2021-03-09 14:42:53 +05:30
Trisha Anand
cd45a1dd74
Added support for Arrays in Prepared Statement in Postgres (#3421)
* Added support for Arrays in Prepared Statement

* Minor code cleanup

* Super minor code readability changes

* Incorporated review comment
2021-03-09 13:17:42 +05:30
Trisha Anand
38c0151e94
Changed order of message for easy grep in case of invalid dynamic binding path (#3436) 2021-03-08 16:05:05 +05:30
Trisha Anand
79164fde44
Only return request object in action execute if the action was executed in EDIT mode. (#3426) 2021-03-08 16:04:17 +05:30
Sumit Kumar
800d305dab
Gracefully handle the timeout overflow / out of expected range errors (#3411)
- Expect max value of timeout as 60000 ms.
- If value exceeds max value then add error message to the list of invalids. This list is returned to the client in response body.
- Detect integer overflow exception (Number format exception) and override the value to 60000 ms.
2021-03-05 17:09:29 +05:30
Trisha Anand
10cd7f5f80
Adding support for Prepared Statements in MySQL plugin (#3327) 2021-03-05 16:22:46 +05:30
hetunandu
8574b86926 Merge branch 'master' into release 2021-03-05 12:06:14 +05:30
Trisha Anand
20ed017a58
In case of no mustache bindings are found in dynamic path list, throw invalid dynamic binding reference error. (#3394) 2021-03-04 15:35:46 +05:30
Trisha Anand
5e448b9331
DSL parsing : Catch index out of bound exception (#3364)
* In case index being referred does not exist, throw appropriate error during DSL parsing

* Fixing bad commit.
2021-03-03 18:51:35 +05:30
Sumit Kumar
639913703a
Fix/add mongo srv support (#3341)
Provide helpful error msg when srv url is provided to mongo plugin

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-03-03 18:31:04 +05:30
Trisha Anand
75b0986b92 Fixed the incorrect JSON string in INVALID_DYNAMIC_BINDING_REFERENCE appsmith error. 2021-03-03 18:22:42 +05:30
Shrikant Sharat Kandula
bb49f04f06
Support descending ordering for Firestore documents (#3340) 2021-03-03 18:18:57 +05:30
Trisha Anand
f49cc7b455
Added throwing a properly formatted error for client to consume when dynamic binding path list contains an invalid entry (#3343) 2021-03-03 17:47:35 +05:30
Trisha Anand
ca8be4c7f5
Db Migration : Delete unreferenced dynamic binding paths in actions (#3310)
* WIP compute if the dynamic binding path list is correct.

* Tested code for deleting the incorrect dynamic binding path list from actions.

* Added comments for code readability
2021-03-03 17:11:03 +05:30
Shrikant Sharat Kandula
9c50182f0e
API for forking of public applications (#3221)
* A barely working API for forking a public application

* Tests WIP

* Mild refactoring in tests

* Refactoring in test

* Not all applications are forkable
2021-03-03 15:45:47 +05:30
Sumit Kumar
e5586a590a
fix placeholderText label in form.json files (#3331)
fix placeholderText label in form.json files
2021-03-03 09:33:02 +05:30
Sumit Kumar
5bab77a141
remove endpoint host and port fields from dynamodb datasource form (#3316)
- A consensus has emerged that the utility of overriding endpoint is only for local development and testing. Hence, removing the fields from datasource form.
2021-03-02 17:25:25 +05:30
Sumit Kumar
6c04e1467b
Provide option for only one endpoint and port in the dynamodb plugin datasource form (#3314)
- provide a max length to keyvalue_array type. If the max length is set to 1, then the "+" button will not appear.
- front end changes are pending. A new github issue will be opened to track the same : #3315
2021-03-02 15:42:38 +05:30
Arpit Mohan
bf16b45f2b
Merge pull request #3309 from appsmithorg/release
Release v1.4.1
2021-03-02 13:41:51 +05:30
Trisha Anand
bd18030c2d
Add request body in case http method is not GET (#3307)
* Add request body in case http method is not GET

* Incorporated review comments.
2021-03-02 12:46:20 +05:30
Trisha Anand
91e308665b
Requests preparation by plugins instead of ActionService (#3159)
* Added action request in S3 plugin.

* Added request data in Dynamo plugin

* Added request in Elastic Search.

* Request in Firestore.

* Request added in Mongo

* MsSQL request added.

* Added MySQL request.

* Added Postgres request.

* Added redis request.

* Redshift doen.

* Catching AppsmithPluginExceptions at the plugin level itself to ensure that the request gets passed on as part of the result.

* Fixed failing plugin test failures

* Fixed AmazonS3 test failures.

* WIP post analytics working

* WIP : Making the request data confirm to existing analytics request data format.

* Fixed the headers in the analytics body.

* Migrations S3, Postgres to the accepted format for request in analytics

* Updated S3 action to be the query

* Migration completed for all plugins for analytics.

* Removed the old analytics event. Now sending only the new one.

* Ensuring all data is captured in S3 plugin request in case of error.

* Minor editing of firestore to ensure that the errors get caught by the plugin itself.

* Fixed test cases in Amazon S3

* Incorporated review comments.
2021-03-02 10:58:46 +05:30
Sumit Kumar
68e6c7b1d8
stop logging datasource argument error externally. (#3262)
- Stop logging datasource argument error externally. The error described in the linked GitHub issue arises due to bad service account credentials provided as arg.
- Update error msg to make it clear.
- Add TC.
2021-03-01 12:13:32 +05:30
Trisha Anand
31b20da347
Adding support for NULL value parameters in Prepared Statement. (#3255) 2021-02-27 18:59:51 +05:30
Sumit Kumar
d2643a18c3
check dynamodb connection validity using listTables cmd. (#3241)
* check dynamodb connection validity using listTables cmd.
* add TC
* add encrypted logo to password field
* rectify the default value of region dropdown
* remove unused imports
2021-02-26 16:57:18 +05:30
Shrikant Sharat Kandula
a1d027bb59
Save separate appLayout for edit/view and sync on publish (#3245) 2021-02-26 16:18:04 +05:30